il mysqli_select_db
funzione, quando si utilizza l'API procedurale richiede di passare una connessione effettiva come primo parametro, come mostrato nelle pagine man
. Questa connessione, o collegamento, è ciò che mysqli_connect
restituisce, quindi non dovresti ignorare ciò che mysqli_connect
resi
, ma piuttosto assegnalo a una variabile.
La firma della funzione ti dice chiaramente tutto questo, quindi per favore, RTM . Ecco alcuni esercizi copia-incolla:
\/=============================|
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 =======================|
Ciò significa che dovrai scrivere:
$db = mysqli_connect('localhost', 'root', '');
mysqli_select_db($db, 'video_system');
Come il manuale &&mostra la firma, questo mysqli_select_db
restituisce un bool. true
significa che il DB è stato selezionato correttamente, false
indica il fallimento. È meglio prendere l'abitudine di controllare i valori restituiti dalle funzioni . Non importa quanto possa sembrare banale. Quindi:
$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
Ma puoi facilmente omettere questa seconda chiamata di funzione, passando il nome DB scelto a mysqli_connect
funzione da fuori:
$db = mysqli_connect('127.0.0.1', 'root', '', 'video_system');
Ciò consente di risparmiare il sovraccarico di una chiamata di funzione aggiuntiva, che migliora leggermente le prestazioni. Ho anche cambiato localhost
stringa all'indirizzo IP 127.0.0.1, che può anche essere d'aiuto, perché l'utilizzo dell'IP significa che la stringa non deve essere risolta nell'indirizzo IP corrispondente.
Tutto sommato, penso che sia meglio dedicare un po' di tempo lettura della documentazione