Shawn McKenzie wrote: > Shawn McKenzie wrote: >> R B wrote: >>> Hello, >>> >>> When i create a mysql database with the next command: >>> >>> mysql_query("CREATE DATABASE my_db",$con) >>> >>> In the server is created the database, but usually the name is created with >>> a prefix. >>> >>> In this case: someuser_my_db >>> >>> How can i detect with PHP the complete name of the new database created? >>> >>> Thanks >>> >> There may be a better way, but off the top of my head, translate this to >> PHP: >> >> use information_schema; >> select SCHEMA_NAME from SCHEMATA where SCHEMA_NAME like '%_my_db'; >> >> Now of course you could have multiples there, like user_my_db and >> user2_my_db. Not sure about that, maybe it would be the last one in the >> returned records? >> > > Using mysql_list_dbs() and mysql_db_name() would acheive the same, > however from the man page of mysql_db_name() there is a neat contib: > > $result = mysql_query("SELECT DATABASE()"); > $dbname = mysql_result($result, 0); > Scratch the above. This is the db of the current connection. This should work, but again doesn't account for multiple dbs with my_db in the name: $dblist = mysql_list_dbs(); while (list($dbname) = mysql_fetch_row($dblist)) { if (strpos($dbname, 'my_db') !== false) { break; } } However it might be easier to do this: mysql_select_db("information_schema"); $result = mysql_query("select SCHEMA_NAME from SCHEMATA where SCHEMA_NAME like '%my_db'"); $dbname = mysql_result($result, 0); -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php