sql >> データベース >  >> RDS >> Mysql

MysqlデータベースをPHPフォームで更新する方法についての良いチュートリアルですか?

    データの更新は非常に簡単です。初心者向けのフォームから始めましょう:

    <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関数 を確認してください。 より多くのグッズをお求めの場合は、具体的な質問がある場合は必ずここに戻ってください!




    1. クライアントをMySQLサーバーに正常に接続する

    2. MySQLのSYSDATE()とNOW():違いは何ですか?

    3. MySQLユーザー権限

    4. MAMP上のMySQLサーバー-Windowsが起動しない