このMySQLシリーズの前回の記事では、MySQLでのテーブル操作の概要を説明しました。チュートリアルシリーズのこのパートでは、 insert を実行して、PHPとMySQLでCRUDを作成する方法を説明します。 、更新 および削除 クエリ。これらのクエリは、次の方法で実行できます。
一度に1つのクエリを実行します。 PHPMySQLのホスティングで以前に作成したデータベースにデータを挿入することから始めましょう。 「練習」フォルダに新しいphpファイルを作成します 」を以前に作成し、crud.phpという名前を付けました。 CRUDは、Create、Read、Update、およびDeleteクエリの略語です。新しいファイルで、この行を上部に追加します require_once‘db_connection.php’ この新しい関数を作成します:
require_once 'db_connection.php'; function SingleQuery($queri) { $conn = OpenCon(); if($conn->query($queri) === TRUE) { CloseCon($conn); return true; } else { return $conn->error; } }
この関数は、必要なクエリとして1つのパラメーターを受け取り、それを実行します。次に、同じフォルダに新しいファイルindex2.phpを作成し、上部にこの行 require_once‘crud.php’を追加します。 次に、これらの行をindex2.phpに追加します。
include 'crud.php'; $sql = "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('w','w','[email protected]','First Insert Using Single Query')"; $result = SingleQuery($sql); if($result === true) { echo 'success'; } else { echo $result; }
次に、ブラウザを開いてlocalhost / Practice / index2.phpに移動します。正しいクエリを入力すると、成功するでしょう。
この方法を使用すると、複数の挿入を実行できます。 、選択 または更新 クエリ。 マルチインサートの関数を書くことから始めましょう または更新 クエリ。この新しい関数をcrud.phpファイルに記述します
function MultiQuery($quries) { $conn = OpenCon(); if($conn->multi_query($quries) === true) { CloseCon($conn); return true; } else { return $conn->error; } }
この関数は、必要なクエリとして1つのパラメーターを受け取り、それを実行します。次に、index2.phpでこの関数を呼び出します:
include 'crud.php'; $sql = "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('a','a','[email protected]','First Insert Using Multiple Queries');"; $sql .= "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('b','b','[email protected]','First Insert Using Multiple Queries');"; $sql .= "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('c','c','[email protected]','First Insert Using Multiple Queries');"; $result = MultiQuery($sql); if($result === true) { echo 'success'; } else { echo $result; }
次に、ブラウザを開いてlocalhost / Practice / index2.phpに移動します。正しいクエリを入力すると、成功するでしょう。
PHPアプリをクラウドにデプロイするほど簡単なことはありません
Cloudwaysを使用すると、PHPアプリをマネージドクラウドサーバーでわずか数分で稼働させることができます。
無料で開始PHPおよびMySQLのCRUDとプリペアドステートメント
プリペアドステートメントは、同じクエリを高効率で複数回実行するために使用されます。次に、この新しい関数をcrud.phpファイルに記述します。
function PreQuery($fname,$lname,$email,$subj) { $conn = OpenCon(); $query = $conn->prepare("INSERT INTO myguests(firstname, lastname, email, subject) VALUES (?,?,?,?)"); $query->bind_param("ssss", $fname,$lname,$email,$subj); if($query->execute()) { CloseCon($conn); return true; } else { return $conn->error; } }
プリペアドステートメントを使用してデータを選択します。プリペアドステートメントがどのように機能するか見てみましょう:
- 最初に、INSERT INTO myguests(firstname、lastname、email、subject)VALUES(?、?、?、?)のようなステートメントを準備します。 を残しましたか? 値を挿入する場所。
- 次に、これらの値をバインドします。最初のパラメータは、値のデータ型を取得し、その後、値を取得します。データ型引数には4つの型があります。
- i –整数
- s –文字列
- d –ダブル
- b –ブロブ
- 実行します。
この関数は、必要な値として4つのパラメーターを受け取り、それを実行します。次に、index2.phpでこの関数を呼び出します:
include 'crud.php'; $firstn = "Ahmed"; $lastn = "Khan"; $email = "[email protected]"; $subject = "Inserting Data using prepared Query"; $result = PreQuery($firstn,$lastn,$email,$subject); if($result === true) { echo 'success'; } else { echo $result; }
次に、ブラウザを開いてlocalhost / Practice / index2.phpに移動します。正しいクエリを入力すると、成功します。
次に、単一のクエリ実行を使用して、MySQLデータベースからデータを選択しましょう。以下に記述されているcrud.phpに新しい関数を記述します:
function selectdata($sql) { $conn = OpenCon(); $result = $conn->query($sql); if($result) { if($result->num_rows > 0) { return $result; } else { return "zero"; } } else { return $result->error; } }
この関数は、最初にクエリが正常に実行されたことを確認します。そうでない場合は、エラーを送信します。次に、行数が0より大きいかどうかをチェックします。その場合、「ゼロの結果が見つかりました」を送信します。ここで、index2.phpでこの関数を呼び出し、次のコードを記述します。
<table> <tr> <td> Name</td> <td> Email</td> <td> Message</td> </tr> <?php include 'crud.php'; $sql = "SELECT * FROM `myguests`"; $result = selectdata($sql); if($result != "zero") { while($row = $result->fetch_assoc()) { echo "<tr>"; echo "<td>" . $row['firstname'].' '.$row['lastname'] . "</td>"; echo "<td>" . $row['email']. "</td>"; echo "<td>" . $row['subject']. "</td>"; echo "</tr>"; } } else { echo $result; } ?> </table>
この後、ブラウザを開いてlocalhost / Practice / index2.phpに移動すると、データベース内のすべてのデータストアがindex2.phpページに表示されます。
crud.phpファイルに新しい関数を記述してupdateステートメントを実行しましょう:
function UpdateQuery($column,$value,$id) { $conn = OpenCon(); $query = $conn->prepare("UPDATE myguests SET $column = ? WHERE id = ?"); $query->bind_param("si",$value,$id); if($query->execute()) { CloseCon($conn); return true; } else { return $conn->error; } }
更新パラメーターは3つのパラメーターを取ります。 1つは更新が必要な列名、2つ目は前の値に置き換えられる値、3つ目は変更される行のIDです。次に、index2.phpでこの関数を実行します:
include 'crud.php'; $result = UpdateQuery("firstname","David",1); if($result === true) { echo 'success'; } else { echo $result; }
それが終わったら、ブラウザを開いてlocalhost / Practice / index2.phpに移動します。エラーがなければ、成功します。
crud.phpファイルに新しい関数を記述して、deleteステートメントを実行しましょう:
function DeleteQuery($id) { $conn = OpenCon(); $query = $conn->prepare("DELETE FROM myguests WHERE id = ?"); $query->bind_param("i",$id); //var_dump($query); if($query->execute()) { CloseCon($conn); return true; } else { return $conn->error; } }
削除パラメーターは、テーブルから削除する必要のある行のIDとなる1つのパラメーターを取ります。次に、index2.phpでこの関数を実行します:
include 'crud.php'; $result = DeleteQuery(1); if($result === true) { echo 'success'; } else { echo $result; }
その後、ブラウザを開いてlocalhost / Practice / index2.phpに移動すると、エラーがなければ成功します。
結論
このチュートリアルでは、3つの異なる方法を使用してPHPとMySQLでCRUDを実行する方法を学びました。このMySQLシリーズの次回の記事では、MySQLデータフェッチ句について説明します。これは、このMySQLシリーズの主要なトピックの簡単な紹介とリストです。
このチュートリアルで学んだことについて質問がある場合は、以下にコメントしてください。幸運を! 🙂