le mysqli_select_db
fonction, lorsque l'utilisation de l'API procédurale vous oblige à passer une connexion réelle comme premier paramètre, comme indiqué sur les pages de manuel
. Cette connexion, ou lien, est ce que mysqli_connect
renvoie, donc vous ne devriez pas ignorer ce que mysqli_connect
renvoie
, mais plutôt l'affecter à une variable.
La signature de la fonction vous indique clairement tout cela, alors s'il vous plaît, RTM . Voici quelques exercices copiés-collés :
\/=============================|
bool mysqli_select_db ( mysqli $link , string $dbname ) ||
//returns bool argument 1 argument 2 ||
mysqli mysqli_connect ([...]) ||
//returns type mysqli accepts vast number of arguments ||
// ||
|======== useful here =======================|
Cela signifie que vous devrez écrire :
$db = mysqli_connect('localhost', 'root', '');
mysqli_select_db($db, 'video_system');
Comme le spectacle de signature &&manuel, ce mysqli_select_db
renvoie un booléen. true
signifie que la base de données a été sélectionnée avec succès, false
indique un échec. Il est préférable de prendre l'habitude de vérifier les valeurs de retour des fonctions . Aussi trivial que cela puisse paraître. Donc :
$db = mysqli_connect('localhost', 'root', '');
if (!mysqli_select_db($db, 'video_system'))
{//if return value is false, echo error message and exit script
echo 'Failed to select db "video_system": ', mysqli_error($db), PHP_EOL;
$db = null;//optional, but generally safer
exit(1);//stop execution
}
//db selected, get to work here
Mais vous pouvez facilement omettre ce deuxième appel de fonction, en passant le nom de la base de données de votre choix au mysqli_connect
fonction depuis l'arrêt :
$db = mysqli_connect('127.0.0.1', 'root', '', 'video_system');
Ce qui vous évite la surcharge d'un appel de fonction supplémentaire, ce qui améliore légèrement les performances. J'ai aussi changé le localhost
chaîne à l'adresse IP 127.0.0.1, ce qui peut également aider, car l'utilisation de l'IP signifie que la chaîne n'a pas besoin d'être résolue en l'adresse IP correspondante.
Dans l'ensemble, je pense qu'il vaut mieux que vous passiez du temps lire la documentation