ホームページ  >  記事  >  バックエンド開発  >  MySQL データベースを操作する PHP5 基本コード_PHP チュートリアル

MySQL データベースを操作する PHP5 基本コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:44:02774ブラウズ

1. データベース接続を確立します

コードをコピーします コードは次のとおりです:

$mysqli = new mysqli("localhost","root","","mydb") );
? >

データベース接続を確立するには、データベース アドレス、データベース アクセス ユーザー名、データベース アクセス パスワード、データベース名という 4 つのパラメーターが必要です。上記の mysqli オブジェクトのコンストラクター メソッドを使用してデータベース接続を確立するだけでなく、その connect メソッドを呼び出してデータベース接続を確立することもできます。
コードをコピーします コードは次のとおりです:

$mysqli = new mysqli();
$mysqli->connect("localhost","root","", "mydb") ;
?>

mysqli オブジェクトの構築メソッドを通じてデータ接続を確立し、select_db メソッドを通じてアクセスするデータベースを指定することもできます。
コードをコピーします コードは次のとおりです:

$mysqli = new mysqli("localhost","root","");
$mysqli->select_db(" mydb");
?>

mysqli オブジェクトの errno 属性を通じて現在の接続のエラー番号を取得します。現在の接続にエラーがない場合、エラー番号は 0 に返されます。
コードをコピーします コードは次のとおりです:

$mysqli = new mysqli("localhost","root","");
$mysqli->select_db(" mydb");
if($mysqli->errno == 0) //現在の接続が成功したかどうかを判断します
{
}
else
{
echo "接続がエラーです!";
exit();
もちろん、mysqli オブジェクトの error 属性を通じて現在の接続のエラー情報を取得できます。エラーがない場合は "" を返します。


コードをコピーします
コードは次のとおりです: $mysqli = new mysqli("localhost","rootsss","");
$mysqli->select_db(" mydb");
if($mysqli->errno == 0) //現在の接続が成功したかどうかを判断します
{
}
else
{
echo $mysqli->error; //現在のエラーメッセージを出力します
exit();
}
?>



2. データベースをクエリする
データベースをクエリするには、クエリ データベースの結果セットを返す mysqli オブジェクトの query メソッドを使用できます。
構文は次のとおりです: $mysqli->query (クエリ ステートメント、クエリ モード);
2 つのクエリ モードがあります: ① MYSQLI_STORE_RESULT。結果をキャッシュされたセットとして返すということは、結果セット全体を一度にナビゲートできることを意味します。この設定がデフォルトです。結果セットはクエリされた後、メモリに格納されます。これは、結果セット内のデータ量が多い場合、より多くのメモリを占有することを意味します。ただし、このメソッドを使用すると、クエリによって返されるレコードの行数を簡単に確認したり、結果セットの特定の行にすぐにジャンプしたりすることができます。 ② MYSQLI_USE_RESULT。結果セットをキャッシュされていないセットとして返します。これは、結果セットが必要に応じてデータベース サーバーからフェッチされることを意味し、より大きな結果セット データのパフォーマンスを向上させることができます。ただし、クエリ行数の取得など、結果セットに対する多くの操作は制限されます。



コードをコピーします

コードは次のとおりです:
$mysqli = new mysqli("localhost","root",""); $mysqli->select_db(" mydb");
if($mysqli->errno == 0) //現在の接続が成功したかどうかを判断します
{
$sql = "SELECT * FROM students";
$result = $mysqli->query( $sql);
echo "Result row nums:".$result->num_rows."
"; //結果セットの数を表示します
//結果セットを繰り返します
while(list($id, $name,$age,$address) = $result->fetch_row())
{
echo "$id : $name : $age : $address"."
"
}
}
else
{
echo $mysqli->error; //現在のエラーメッセージを出力します
exit();
?> 結果内の各行のデータを取得します。各行のデータは連想配列になっており、リストメソッドを使用して各データを出力します。出力オブジェクトを使用して、結果セットの各行を出力することもできます。



コードをコピーします

コードは次のとおりです:

$mysqli = new mysqli("localhost","root","");
$mysqli->select_db("mydb");
if($mysqli->errno == 0) ) //現在の接続が成功したかどうかを判断します
{
$sql = "SELECT * FROM Student"
$result = $mysqli->query($sql);
echo "Result row nums:".$result- > num_rows."
"; // 結果セットの数を表示します
// 結果セットを繰り返します
while($rowObject = $result->fetch_object())
{
echo "$rowObject-> ;id : $rowObject ->name : $rowObject->age : $rowObject->address"."
";
}
}
else
{
echo $mysqli->error; / /現在のエラー メッセージを出力します
exit();
?>

上の例では、オブジェクトは $rowObject であり、各列はオブジェクトにカプセル化されます。データベース内の はオブジェクトの属性となり、オブジェクトを通じてそのプロパティ名を呼び出すことで、対応するフィールド値を取得できます。たとえば、学生の名前 $rowObject->name を取得します。
fetch_array メソッドを使用して、データの各行を連想配列またはインデックス配列として返したり、連想配列とインデックス配列の両方を返したりすることもできます。 fetch_array メソッドの mode パラメーターは、現在返される配列のモードを指定します:
① MYSQLI_ASSOC。 key がフィールド名、value がフィールド値である連想配列を返します。
②MYSQLI_NUM。クエリフィールドと同じ順序でインデックス配列を返します。
③MYSQLI_BOTH。連想配列とインデックス付き配列の両方を返します。デフォルト設定。


コードをコピー コードは次のとおりです:
while($row = $result->fetch_array(MYSQLI_ASSOC)) //連想配列を返します
{
echo $row[' id'] .$row['年齢'].$row['住所']."

?>



code

コードは次のとおりです:
while($row = $result->fetch_array(MYSQLI_NUM)) //インデックス配列を返します{ echo $row[0]。 [1].$row[ 2].$row[3]."
}
?>



結果セット内のデータ量が大きい場合結果セット オブジェクトの free メソッドが使用されており、結果セットによって占有されているメモリを解放するために使用されます。 free メソッドが呼び出されると、結果セットは使用できなくなります。


コードをコピーします
コードは次のとおりです:

... $result->free(); //メモリを解放します
4.追加、変更、削除操作

mysqli オブジェクトのクエリ メソッドを使用してもデータベースを追加、変更、削除できますが、SQL ステートメントが異なります。例としてデータを追加してみましょう:



コードをコピーします

コードは次のとおりです:
$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->error; // 現在のエラーメッセージを出力します
}
?>影響を受ける行の数を取得します。

5. データベース接続を閉じる

データベース接続の使用が終了したら、mysqli オブジェクトの close メソッドを呼び出して閉じます。



コードをコピーします

コードは次のとおりです:

...
$mysqli->close() ?>

6. PHP のバインディング パラメータは、Java の前処理 SQL と同じです。SQL を繰り返し実行する場合、SQL パラメータを不定期にバインドして、SQL の実行速度を向上させることができます
。コードは次のとおりです:

$mysqli = new mysqli("localhost","root","");
$mysqli->select_db("mydb");
if($mysqli->errno == 0) ) //現在の接続が成功したかどうかを判断します
{
$sql = "INSERT INTO Student(id,name,age,address) VALUES(?,?,?,?)"; stmt_init( ); //前処理オブジェクトの作成
$stmt->prepare($sql); //SQLの前処理
$stmt->bind_param("isis",$id,$name,$age,$address ); //バインドされた変数の最初のパラメータを変数のデータ型に設定します
for($i = 12;$i<100;$i++)
{
$id = $i + 1;
$name = " Kai";
$age = 23;
$address = "xian";
$stmt->execute(); //SQL ステートメントを実行します
}
echo $mysqli->affected_rows; //影響を受ける行を出力しますNumber
$stmt->close(); //前処理オブジェクトによって占有されているメモリを解放します
$mysqli->close(); //データベース接続を閉じます
}
else
{
echo $mysqli-> error; // 現在のエラーメッセージを出力します
}


なお、bind_param メソッドの最初のパラメータは以下のデータ型を指定します。 :
① i: すべての整数型。
② d: すべての double 型と float 型。
③ b:ブロブタイプ。
④ s: 他のデータ型には文字列が含まれます。

7. 結果バインディング

結果バインディングは、クエリ結果といくつかの変数をバインドするために使用されます。

コードをコピーします
コードは次のとおりです: $mysqli = new mysqli("localhost","root","");
$mysqli->select_db(" mydb");
if($mysqli->errno == 0) //現在の接続が成功したかどうかを判断します
{
$sql = "SELECT * FROM students";
$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();
? >




http://www.bkjia.com/PHPjc/320663.html

www.bkjia.com

http://www.bkjia.com/PHPjc/320663.html技術記事 1. データベース接続を確立します。次のようにコードをコピーします。 ?php $mysqli = new mysqli("localhost","root","","mydb");住所..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。