PHP5はMySQLデータベースの基本コードを操作します
1. データベース接続を確立します
コードをコピーします コードは次のとおりです。
< ?php
$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 "接続がエラーです!"
}
?>;
Sure mysqli オブジェクトの error 属性を通じて現在の接続のエラー情報を取得し、エラーがない場合は "" を返します。
コードをコピー
コードは次のとおりです: $mysqli = new mysqli("localhost ","rootss","");
$mysqli->select_db("mydb");
if($mysqli->errno == 0) //現在の接続が成功したかどうかを判断します
{
}
else
{
echo $mysqli->error; // 現在のエラーメッセージを出力します
exit()>}
?>
2. データベースをクエリする
構文は次のとおりです: $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 学生";
$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 を取得します。
① MYSQLI_ASSOC。 key がフィールド名、value がフィールド値である連想配列を返します。
②MYSQLI_NUM。クエリフィールドと同じ順序でインデックス配列を返します。
③MYSQLI_BOTH。連想配列とインデックス付き配列の両方を返します。デフォルト設定。
コードをコピー コードは次のとおりです。
while($row = $result- >fetch_array (MYSQLI_ASSOC)) //連想配列を返します{
echo $row['id']. $row['name'].$row['age'].$row['address' ]."
";
}
?>
または
コードをコピーしますコードは次のとおりです:
while($row = $result->fetch_array(MYSQLI_NUM)) //インデックス配列を返します{
echo $ row[0]. $ row[1].$row[2].$row[3]."
}
?>
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-> //現在のエラーメッセージを出力します。
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:ブロブタイプ。
7. 結果バインディング
結果バインディングは、クエリ結果といくつかの変数をバインドするために使用されます。
コードをコピー
コードは次のとおりです:
$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 ();
}
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。
