mysqli_select_db
funkcja, gdy użycie proceduralnego API wymaga przekazania rzeczywistego połączenia jako pierwszego parametru, jak pokazano na stronach podręcznika
. To połączenie lub link jest tym, co mysqli_connect
zwraca, więc nie powinieneś ignorować tego, co mysqli_connect
zwraca
, ale raczej przypisz go do zmiennej.
Podpis funkcji jasno mówi o tym wszystkim, więc proszę RTM . Oto kilka prac typu kopiuj-wklej:
\/=============================|
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 =======================|
Oznacza to, że będziesz musiał napisać:
$db = mysqli_connect('localhost', 'root', '');
mysqli_select_db($db, 'video_system');
Podobnie jak manualny pokaz &&podpisów, ten mysqli_select_db
zwraca bool. true
oznacza, że baza danych została pomyślnie wybrana, false
wskazuje na awarię. Najlepiej wyrobić w sobie nawyk sprawdzania wartości zwracanych przez funkcje . Bez względu na to, jak trywialne może się to wydawać. A więc:
$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
Ale możesz łatwo pominąć to drugie wywołanie funkcji, przekazując wybraną nazwę bazy danych do mysqli_connect
funkcja od początku:
$db = mysqli_connect('127.0.0.1', 'root', '', 'video_system');
Co oszczędza koszty związane z wywołaniem dodatkowej funkcji, co nieznacznie poprawia wydajność. Zmieniłem również localhost
ciąg na adres IP 127.0.0.1, co również może pomóc, ponieważ użycie adresu IP oznacza, że ciąg nie musi być rozwiązany na odpowiedni adres IP.
W sumie myślę, że najlepiej poświęcić trochę czasu czytanie dokumentacji