[PHP] Re: mysql_query - CREATE DATABASE

2009-02-09 Thread Shawn McKenzie
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

2009-02-09 Thread R B
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

2009-02-09 Thread Shawn McKenzie
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

2009-02-09 Thread R B
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

2009-02-09 Thread Shawn McKenzie
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

2009-02-09 Thread Shawn McKenzie
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

2009-02-09 Thread R B
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