de mysqli_select_db
functie, wanneer u de procedurele API gebruikt, moet u een daadwerkelijke verbinding doorgeven als een eerste parameter, zoals weergegeven op de man-pagina's
. Deze verbinding, of link, is wat mysqli_connect
retourneert, dus je moet niet negeren wat mysqli_connect
retourneert
, maar wijs het liever toe aan een variabele.
De handtekening van de functie vertelt je dit duidelijk, dus alsjeblieft, RTM . Hier zijn een paar gekopieerde oefeningen:
\/=============================|
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 =======================|
Dit betekent dat je moet schrijven:
$db = mysqli_connect('localhost', 'root', '');
mysqli_select_db($db, 'video_system');
Net als de handmatige &&handtekeningshow, is deze mysqli_select_db
geeft een bool terug. true
betekent dat de DB met succes is geselecteerd, false
duidt op een mislukking. Het is het beste om er een gewoonte van te maken het controleren van functieretourwaarden . Hoe triviaal het ook lijkt. Dus:
$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
Maar u kunt deze tweede functieaanroep eenvoudig weglaten door de DB-naam naar keuze door te geven aan de mysqli_connect
functie vanaf het begin:
$db = mysqli_connect('127.0.0.1', 'root', '', 'video_system');
Dat bespaart u de overhead van een extra functie-aanroep, wat de prestaties iets verbetert. Ik heb ook de localhost
. gewijzigd string naar het IP-adres 127.0.0.1, wat ook kan helpen, omdat het gebruik van het IP betekent dat de string niet hoeft te worden omgezet naar het corresponderende IP-adres.
Al met al denk ik dat het het beste is om wat tijd door te brengen documentatie lezen