Note, please, that C API in mysql has changed. So, create_db and drop_db
are gone. See a kind of workaround below.
Thanx!
For create_db function in ext/mysql/php_mysql.c:
--------------------------------
int id;
#if MYSQL_VERSION_ID > 39999
char buff[80];
#endif
php_mysql_conn *mysql;
MySLS_FETCH();
switch(ZEND_NUM_ARGS()) {
case 1:
if (zend_get_parameters_ex(1, &db)==FAILURE) {
RETURN_FALSE;
}
id =
php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU MySLS_CC);
CHECK_LINK(id);
break;
case 2:
if (zend_get_parameters_ex(2, &db, &mysql_link)==FAILURE) {
RETURN_FALSE;
}
id = -1;
break;
default:
WRONG_PARAM_COUNT;
break;
}
ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link",
le_link, le_plink);
convert_to_string_ex(db);
#if MYSQL_VERSION_ID < 40000
if (mysql_create_db(&mysql->conn, (*db)->value.str.val)==0) {
RETURN_TRUE;
} else {
RETURN_FALSE;
}
#else
if((*db)->value.str.len > 64) {
RETURN_FALSE;
}
sprintf(buff,"CREATE DATABASE %s",(*db)->value.str.val);
if (mysql_query(&mysql->conn, buff)!=0) {
RETURN_FALSE;
} else {
RETURN_TRUE;
}
#endif
-------------------
And the same with drop DB:
#if MYSQL_VERSION_ID < 40000
convert_to_string_ex(db);
if (mysql_drop_db(&mysql->conn, (*db)->value.str.val)==0) {
RETURN_TRUE;
} else {
RETURN_FALSE;
}
#else
if((*db)->value.str.len > 64) {
RETURN_FALSE;
}
sprintf(buff,"DROP DATABASE %s",(*db)->value.str.val);
if (mysql_query(&mysql->conn, buff)!=0) {
RETURN_FALSE;
} else {
RETURN_TRUE;
}
#endif
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]