【PHP日記】

自分の知識不足を悟った末、なるべく1日一回、Webに関する知識を書いていくだけのブログ。

mysqli()関数まとめ 【24日目】

自分が見返す用にまとめている、MySQLを操作する関数である『mysqli()』についての備忘録です。


PHP側からデータベースを新規に作成する

<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$database = "myNewDB";

// MySQLサーバーへの接続
$conn = mysqli_connect($servername, $username, $password);

// データベースが存在するか確認
$sql = "SHOW DATABASES LIKE '$database'";
$result = mysqli_query($conn, $sql);

// データベースが存在しない場合のみ作成
if (mysqli_num_rows($result) == 0) {
    $sql = "CREATE DATABASE $database";
    mysqli_query($conn, $sql);
};

// 接続を閉じる
mysqli_close($conn);
?>



そのデータが含まれているかを確認する

mysqli_num_rows()mysqli_query() によって得られた結果セットの行数を返します。

この関数を使うことで、SELECTの結果として返される行の数や、結果セットに含まれる行が存在するかどうかを確認することができます。

// データベースへの接続
$connection = mysqli_connect("hostname", "username", "password", "database");

// クエリの実行
$result = mysqli_query($connection, "SELECT * FROM users");

// 行数の取得
$row_count = mysqli_num_rows($result);
echo "Number of rows: " . $row_count;

// リソースの解放
mysqli_free_result($result);

// 接続の終了
mysqli_close($connection);

この例では、users テーブルからすべての行を選択し、その行数を取得して表示しています。

注意点としては、mysqli_num_rows()SELECTクエリの結果セットに対してのみ使用できます。INSERT、UPDATE、DELETEクエリなどの結果セットを返さないクエリに対してこの関数を使用すると、期待する結果は得られません。

また結果セットを使用した後は、mysqli_free_result() 関数を使用してリソースを解放することが推奨されます。



以上です。