Php mysql, créer une base de données si n'existe pas
Je veux créer une base de données. Pourquoi n'est pas la db créé avec ce code?
$dbname = 'regulations_db';
$con = mysql_connect("localhost","root","pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
if (mysql_num_rows(mysql_query("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '". $dbname ."'"))) {
echo "Database $dbname already exists.";
}
else {
mysql_query("CREATE DATABASE '". $dbname ."'",$con);
echo "Database $dbname created.";
}
Cela fonctionne, mais je pense que la première est la meilleure pratique:
if (mysql_query("CREATE DATABASE IF NOT EXISTS regulations_db",$con))
{
echo "Database created";
}
else
{
echo "Error creating database: " . mysql_error();
}
OriginalL'auteur erdomester | 2012-01-30
Vous devez vous connecter pour publier un commentaire.
Il suffit de faire une simple
mysql_select_db()
et si le résultat est false alors procéder à la création.Comme un exemple, consultez la première réponse ici par un autre très intelligent StackOverflower.
Mise à jour: maintenant on devrait utiliser mysqli_select_db, droit? -- aussi serait-il judicieux de répéter "$db_selected = mysqli_select_db('my_db', $lien);" dans le succès de l'état (c'est à dire maintenant, il doit travailler, ou l'avez-vous seulement l'utiliser pour vérifier l'existence de la base de données et ont donc plus besoin pour cela de toute façon?
OriginalL'auteur buley
Trois étapes pour résoudre ce problème:
OriginalL'auteur Anyone