SQL コマンドを実行する場合、PHP スクリプトを介して Mysql データベースと対話する方法に関係なく、SQL ステートメントを作成し、それをクエリを実行する関数に渡すプロセスは同じです。
mysqli クラスには SQL コマンドを実行するためのメソッドがいくつか用意されており、その中で最もよく使われるのは query() メソッドです。
データを返さない挿入、更新、削除などの SQL コマンドの場合、SQL コマンドが正常に実行されると、query() メソッドは true を返します。これに基づいて、mysqli オブジェクトのaffected_rows 属性を通じて変更されたレコードの数を取得し、mysqli オブジェクトの insert_id() メソッドを使用して、最後の挿入コマンドによって生成された AUTO_INCREMENT 数値を返すこともできます。
SQL コマンドの実行中にエラーが発生した場合、query() メソッドは false を返します。このとき、エラー番号とエラーの理由は、mysqli オブジェクトの errno 属性と error 属性を通じて取得できます。
注: query() メソッドは、呼び出しごとに 1 つの SQL コマンドのみを実行できます。複数のコマンドを一度に実行したい場合は、mysqli オブジェクトで multi_query() メソッドを使用する必要があります。異なるパラメーターを使用して SQL コマンドを複数回実行する場合、最も効率的な方法は、そのコマンドに対して前処理を行ってから実行することです。
$mysqli=new mysqli("localhost","mysql_user","mysql_pwd","my_db_name");
if(mysqli_connect_errno()){
Printf("接続に失敗しました: %s< br>",mysqli_connect_error());
exit();
}
/*insert コマンドを実行し、その自動数値を取得*/
if($mysqli->query("テーブル名に挿入 (Column 1, 列 2) value ('value 1, value 2')")){
echo "変更されたレコードの数: ".$mysqli->affected_rows."
";
echo "新しい挿入 ID 値: ".$mysqli->insert_id."
";
}
$mysqli->close();
?>
上記は、関連する内容を含めた query() メソッドの紹介であり、PHP チュートリアルに興味のある友人に役立つことを願っています。