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

PHP/MYSQL列にボタンを追加

    コードを次のように変更して、安全で機能的なものにします。

    <?php
    // Connect to the database
    
    mysql_connect ("localhost","Username","Password") 
      or die ('Error: ' . mysql_error());
    
    echo "connected to database!";
    
    mysql_select_db ("Database");
    
    // Insert data into table
    
    $Email= mysql_real_escape_string($_POST['Input2']);
    $Name= mysql_real_escape_string($_POST['Input3']);
    $Company= mysql_real_escape_string($_POST['Input4']);
    $Price= mysql_real_escape_string($_POST['Input5']);
    
    $action = mysql_real_escape_string('insert php code for button here');
    
    $query = "INSERT INTO CustomerInformation 
             (Email,Name,Company,Price,Tab Count,Action) 
             VALUES
             ('$Email', '$Name', '$Company', '$Price', '$action') ";
    mysql_query($query) or die ('Error updating database');
    
    echo "Database updated successfully!";
    
    ?>
    

    idを挿入する必要はないことに注意してください テーブルに。自動インクリメントフィールドidがある場合 MySQLが自動的にIDを作成します。
    mysql_real_escape_string() をエスケープします あなたのために。常に$varを囲みます 'を使用したクエリで 一重引用符またはmysql_real_escape_string() しません 動作します!列/テーブルまたはデータベース名には使用せず、値にのみ使用してください。

    詳細については、次の質問を参照してください:

    一般的なSQLインジェクション:「ボビーテーブル」からのSQLインジェクションはどのように行われますか「XKCDコミック作品?
    動的テーブル名を使用する場合のSQLインジェクションからの保護:動的テーブル名でSQLインジェクションを防ぐ方法は?



    1. MySql:リストを使用して変数を設定します

    2. ステップバイステップpostgres_fdw

    3. MySQLジョブを開始できませんでした

    4. JDBCを使用したMySQL一般クエリログの有効化