データの更新は非常に簡単です。初心者向けのフォームから始めましょう:
<form method="post" action="submit.php">
<input type="text" name="id" value="12" />
<input type="text" name="value" value="Jonathan" />
<input type="submit" />
</form>
このフォームは、データをsubmit.php
に送信します それを処理し、データベースに渡すことができるスクリプト。フォームメソッドは「post」であるため、すべての値はPOST
を介して送信されます PHPのスーパー配列(ファイルアップローダーを使用している場合はそうではありません)。したがって、submit.php
内で ページでは、次のようにIDと値の値を出力できます:
print $_POST["id"]; // the name of the HTML element is the key
print $_POST["value"]; // again, note that we use the name as the key
ユーザーが送信した値をクエリに直接渡すことに注意する必要があるため、mysql_real_escape_string()
などの関数を使用してデータをクリーンアップすると便利です。 :
$id = mysql_real_escape_string( $_POST["id"] );
$value = mysql_real_escape_string( $_POST["value"] );
次に実行したいのは、これらをクエリに配置することです。
$sql = "UPDATE mytable SET value = '{$value}' WHERE id = {$id}";
これは、ライブ環境でこのサンプルコードを使用することをお勧めしないことを述べない良い機会です。 sql-injectionsと、それらを回避する方法を調べてください。ここで提供しているコードは単なる例です。値を入力すると、実行されるクエリは実際には次のようになります。
UPDATE mytable SET value = 'Jonathan' WHERE id = 12
これを実行するには、データベースに接続する必要があります。
$host = "localhost";
$user = "root";
$pass = "";
$database = "myDatabase";
$conn = mysql_connect($host, $user, $pass) or die( mysql_error() );
mysql_select_db($database) or die( mysql_error() );
ここで行っているのは、mysql-user-accountクレデンシャルを配列に格納し、それらをconnect-functionに渡すことだけです。このコードは一目瞭然ですが、不明な点がある場合はお知らせください。
これを取得したら、クエリを実行する準備が整います。 $sql
という配列に格納したことを思い出してください。 :
$result = mysql_query( $sql ) or die( mysql_error() );
それでおしまい。できたね!データは、何も問題がなかったと仮定して、データベースで更新されます。このスクリプトを介してユーザーに提供される情報を増やす方法は多数あります。また、スクリプトの実行を許可する前にデータをサニタイズする必要があることにも注意してください。データが受け入れられない場合(誰かが独自のクエリを挿入しようとしている場合)、データを吐き戻したいと思うでしょう。
PHPドキュメントのMySQL関数 を確認してください。 より多くのグッズをお求めの場合は、具体的な質問がある場合は必ずここに戻ってください!