mysqli_select_db
関数、手続き型APIを使用する場合、最初のパラメータとして実際の接続を渡す必要があります。manページに示されています。
。この接続またはリンクは、mysqli_connect
です。 が返されるため、 mysqli_connect
を無視しないでください。 返品
、ではなく、変数に割り当てます。
関数のシグネチャは、これらすべてを明確に示しているので、 RTM 。コピーして貼り付けたものをいくつか示します。
\/=============================|
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 =======================|
これは、次のように書く必要があることを意味します:
$db = mysqli_connect('localhost', 'root', '');
mysqli_select_db($db, 'video_system');
手動の&&署名ショーのように、このmysqli_select_db
ブール値を返します。 true
DBが正常に選択されたことを意味します。false
失敗を示します。 関数の戻り値をチェックする習慣を身につけるのが最善です。 。どんなに些細なことのように見えても。だから:
$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
ただし、選択したDB名をmysqli_connect
に渡すことで、この2番目の関数呼び出しを簡単に省略できます。 オフからの機能:
$db = mysqli_connect('127.0.0.1', 'root', '', 'video_system');
これにより、追加の関数呼び出しのオーバーヘッドが節約され、パフォーマンスがわずかに向上します。 localhost
も変更しました 文字列をIPアドレス127.0.0.1に送信します。これは、IPを使用すると、文字列を対応するIPアドレスに解決する必要がないためです。
全体として、しばらく時間をかけるのが最善だと思いますドキュメントを読む