mysqli_select_db
funkce, při použití procedurálního API vyžaduje, abyste jako první parametr předali skutečné připojení, jak je uvedeno na manuálových stránkách
. Toto připojení nebo odkaz je to, co mysqli_connect
vrátí, takže byste neměli ignorovat to, co mysqli_connect
vrací
, ale raději ji přiřaďte proměnné.
Podpis funkce vám toto vše jasně říká, takže prosím RTM . Zde je několik zkopírovaných úkolů:
\/=============================|
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 =======================|
To znamená, že budete muset napsat:
$db = mysqli_connect('localhost', 'root', '');
mysqli_select_db($db, 'video_system');
Stejně jako v manuálu &&signature show, toto mysqli_select_db
vrátí bool. true
znamená, že DB byla úspěšně vybrána, false
označuje selhání. Nejlepší je osvojit si zvyk kontrolovat návratové hodnoty funkcí . Bez ohledu na to, jak triviální se to může zdát. Takže:
$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
Toto druhé volání funkce však můžete snadno vynechat předáním zvoleného názvu DB do mysqli_connect
funkce vypnuta:
$db = mysqli_connect('127.0.0.1', 'root', '', 'video_system');
Což vám ušetří režii za volání další funkce, což mírně zlepšuje výkon. Také jsem změnil localhost
řetězec na IP adresu 127.0.0.1, což může také pomoci, protože použití IP znamená, že řetězec nemusí být převáděn na odpovídající IP adresu.
Celkově si myslím, že by bylo nejlepší strávit nějaký čas čtení dokumentace