[PHP] Re: mysql_query - CREATE DATABASE
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? -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: mysql_query - CREATE DATABASE
I´m creating a software that use a database, and i want to include a install.php file to install the database of the software. I can create the database in the install.php file with mysql_query(CREATE DATABASE my_db,$con) But when is created, i don´t know the complete name of the database, because a prefix is added. On Mon, Feb 9, 2009 at 12:17 PM, Shawn McKenzie nos...@mckenzies.netwrote: 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? -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Re: mysql_query - CREATE DATABASE
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); -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: mysql_query - CREATE DATABASE
I´m looking that i have another problem: I´m making a software to install in any server. The software needs a database, so i want to create a script install.php to create the database when this script is executed. At this point of the instalation, i don´t know none of the users that are defined in mysql. If i use this command: mysql_query(CREATE DATABASE my_db,$con) first i need to connect to mysql with the command mysql_connect But at this point, i don´t know none of the users that are defined in mysql. So, what i do in this case? Thanks On Mon, Feb 9, 2009 at 12:31 PM, Shawn McKenzie nos...@mckenzies.netwrote: 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); -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Re: mysql_query - CREATE DATABASE
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
Re: [PHP] Re: mysql_query - CREATE DATABASE
R B wrote: I´m looking that i have another problem: I´m making a software to install in any server. The software needs a database, so i want to create a script install.php to create the database when this script is executed. At this point of the instalation, i don´t know none of the users that are defined in mysql. If i use this command: mysql_query(CREATE DATABASE my_db,$con) first i need to connect to mysql with the command mysql_connect But at this point, i don´t know none of the users that are defined in mysql. So, what i do in this case? Thanks Well, obviously the user will have to supply the username and password. There's no way around that. So after you know the username you can create the db and then check if the db exists as you have named it (my_db), and if not check for ($username_my_db), if not that then one of the examples I gave you, or just skip right to listing the databases. -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: mysql_query - CREATE DATABASE
thank you. On Mon, Feb 9, 2009 at 1:14 PM, Shawn McKenzie nos...@mckenzies.net wrote: R B wrote: I´m looking that i have another problem: I´m making a software to install in any server. The software needs a database, so i want to create a script install.php to create the database when this script is executed. At this point of the instalation, i don´t know none of the users that are defined in mysql. If i use this command: mysql_query(CREATE DATABASE my_db,$con) first i need to connect to mysql with the command mysql_connect But at this point, i don´t know none of the users that are defined in mysql. So, what i do in this case? Thanks Well, obviously the user will have to supply the username and password. There's no way around that. So after you know the username you can create the db and then check if the db exists as you have named it (my_db), and if not check for ($username_my_db), if not that then one of the examples I gave you, or just skip right to listing the databases. -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php