この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','example@sqldat.com','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','example@sqldat.com','First Insert Using Multiple Queries');";
$sql .= "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('b','b','example@sqldat.com','First Insert Using Multiple Queries');";
$sql .= "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('c','c','example@sqldat.com','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 = "example@sqldat.com";
$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シリーズの主要なトピックの簡単な紹介とリストです。
このチュートリアルで学んだことについて質問がある場合は、以下にコメントしてください。幸運を! 🙂