1. データベース接続を確立します
コードをコピーします コードは次のとおりです。
< ?php
$mysqli = new mysqli("localhost","root","","mydb");
?>
コードをコピー コードは次のとおりです。
$mysqli = new mysqli();
$mysqli->connect("localhost","root","","mydb");
?>
コードをコピー コードは次のとおりです:
$mysqli = new mysqli("localhost "," root","");
$mysqli->select_db("mydb");
?>
コードをコピー コードは次のとおりです:
$mysqli = new mysqli("localhost "," root","");
$mysqli->select_db("mydb");
if($mysqli->errno == 0) //現在の接続が成功したかどうかを判断します
{
}
else
{
echo "接続がエラーです!"
}
?>;
Sure mysqli オブジェクトの error 属性を通じて現在の接続のエラー情報を取得し、エラーがない場合は "" を返します。
コードは次のとおりです: $mysqli = new mysqli("localhost ","rootss","");
$mysqli->select_db("mydb");
if($mysqli->errno == 0) //現在の接続が成功したかどうかを判断します
{
}
else
{
echo $mysqli->error; // 現在のエラーメッセージを出力します
exit()>}
?>
2. データベースをクエリする
コードは次のとおりです: $mysqli = new mysqli("localhost "," root","");
$mysqli->select_db("mydb");if($mysqli->errno == 0) //現在の接続が成功したかどうかを判断します
{
$sql = "SELECT * FROM 学生";
$result = $mysqli->query($sql);
echo "結果の行番号:".$result->num_rows ."
//結果セットを繰り返します
while(list($id,$name,$age,$address) = $result-> fetch_row())
{
echo "$id : $name : $age : $address"."
";
}
}
else
{
echo $mysqli-> //現在のエラーメッセージを出力します。
結果の fetch_row メソッドを使用します。結果セット内のデータの各行を取得する set オブジェクト、各行 データは連想配列であり、その中の各データは list メソッドを使用して出力されます。出力オブジェクトを使用して、結果セットの各行を出力することもできます。
コードをコピー
$mysqli = new mysqli("localhost","root","");
$mysqli->select_db("mydb"); ($mysqli->errno == 0) //現在の接続が成功したかどうかを判断します
{
$sql = "SELECT * FROM Student"
$result = $mysqli->query( $sql );
echo "Result row nums:".$result->num_rows."
"; //結果セットの数を表示します
//結果セットを繰り返します
($rowObject = $ result->fetch_object())
{
echo "$rowObject->id : $rowObject->name : $rowObject->age : $rowObject->address" ."
}
}
else
{
echo $mysqli->error; //現在のエラーメッセージを出力します
exit(); 🎜>}
?>
上記の例では、fetch_object メソッドを使用して、各行のデータをオブジェクトにカプセル化します。これにより、データベースがオブジェクトの属性になり、オブジェクトの属性名を呼び出すことで、対応するフィールド値を取得できます。たとえば、学生の名前 $rowObject->name を取得します。
コードをコピー コードは次のとおりです。
while($row = $result- >fetch_array (MYSQLI_ASSOC)) //連想配列を返しますコードをコピーしますコードは次のとおりです:
while($row = $result->fetch_array(MYSQLI_NUM)) //インデックス配列を返しますコードをコピー コードは次のとおりです:
...$mysqli = new mysqli("localhost","root",""); $mysqli->select_db("mydb"); if($mysqli->errno == 0) //現在の接続が成功したかどうかを確認します
{$sql = "INSERT INTO Student(id,name,age,address) VALUES('8','kay','23','xian')";
$result = $mysqli->query($sql);
echo $mysqli->affected_rows; //影響を受ける行の数を出力します
}
else
{
echo $mysqli-> //現在のエラーメッセージを出力します。
mysqli オブジェクトのaffected_rows 属性を呼び出します。影響を受ける行の数を取得できます。
5. データベース接続を閉じる
データベース接続の使用が終了したら、mysqli オブジェクトの close メソッドを呼び出して閉じます。
$mysqli -> close(); ?> PHP のバインド パラメータは Java の前処理 SQL と同じです。原則として、SQL を繰り返し実行する場合、SQL のパラメーターが不規則な場合、バインディング パラメーター メソッドを使用して SQL の実行速度を向上させることができます。
コードをコピー
コードは次のとおりです:
$mysqli = new mysqli("localhost","root","");
$mysqli->select_db("mydb"); ($mysqli->errno == 0) //現在の接続が成功したかどうかを判断します
{
$sql = "INSERT INTO Student(id,name,age,address) VALUES(?,?,? ,? )";
$stmt = $mysqli->stmt_init(); //前処理オブジェクトを作成
$stmt->prepare($sql); //SQL の前処理
$stmt -> ;bind_param("isis",$id,$name,$age,$address); //バインドされた変数の最初のパラメータを変数
for($i = 12;$i<; 100;$i )
{
$id = $i 1;
$age = "xian"; >$stmt->execute(); //SQL ステートメントを実行します
}
echo $mysqli->affected_rows; //影響を受ける行数を出力します
$stmt->close(); //前処理オブジェクトが占有しているメモリを解放します
$mysqli->close(); //データベース接続を閉じます
}
else
{
echo $mysqli->error ; / /現在のエラーメッセージを出力します
exit();
?>
bind_param メソッドの最初のパラメータは次の変数を指定することに注意してくださいデータ型、これらのデータ型は次のとおりです:
① i: すべての整数型。
② d: すべての double 型と float 型。
③ b:ブロブタイプ。
$mysqli = new mysqli("localhost "," root",""); $mysqli->select_db("mydb");
if($mysqli->errno == 0) //現在の接続が成功したかどうかを判断します{
$sql = "SELECT * FROM Student";
$stmt = $mysqli->stmt_init(); //前処理オブジェクトを作成します
$stmt->prepare($sql); //SQL の場合、前処理を実行します
$stmt->bind_result($id,$name,$age,$address); //クエリ結果フィールドを変数にバインドします
$stmt->execute(); / /SQL ステートメントを実行します
while($stmt->fetch()) //フェッチ メソッドを使用して結果セットの各行を取得し、対応するフィールド値を変数に割り当てます
{
echo "$id : $name : $age : $address"."
";
}
$stmt->close(); // 前処理オブジェクトによって占有されているメモリを解放します
$mysqli-> ;close(); //データベース接続を閉じます
}
else
{
echo $mysqli->error; //現在のエラーメッセージを出力します
exit ();
}
?>