2017-12-18 18 views
-1

データベースに2つのテーブルに保存するユーザーが挿入したデータを表示します。しかし、このコードは私のために働いていません。ユーザーの入力からsqlの2つのテーブルにデータを保存します

$query = "INSERT INTO partnumber (Partnumber, Description, Min, Max) VALUES 
     ('" . $_POST ["part"] . "', '" . $_POST["description"] . "', '" . $_POST["min"] . "', '" . ($_POST["max"]) . "')INSERT INTO forecast (Partnumber, Min, Max) VALUES 
     ('". $_POST ["part"] . "', '" . $_POST["min"] . "','" . ($_POST["max"]) . "')"; 

    $result = $db_handle->insertQuery($query); 
    if(!empty($result)) { 
     $error_message = ""; 
     $success_message = "Saved successfully!"; 
     unset($_POST); 
    } else { 
     $error_message = "Problem in saving. Try Again!"; 
    } 

    $sql = "INSERT INTO forecast (Partnumber, Min, Max) VALUES 
    ('". $_POST ["part"] . "', '" . $_POST["min"] . "','" . ($_POST["max"]) . "')"; 

    $result = $db_handle->insertQuery($sql); 
    if(!empty($result)) { 
     $error_message = ""; 
     $success_message = "Saved successfully!"; 
    } else { 
     $error_message = "Problem in saving. Try again!"; 
    } 

エラーが

無効なクエリ

た誰かが助けることができますか?

+3

最初の2つのクエリには、それらを区切る区切り文字はありません。 2つのインサートを分割するとメリットがあります。また、あなたのコードは[** SQLインジェクション**](https://en.wikipedia.org/wiki/SQL_injection)に対して**脆弱**であることにも注意してください。これを防ぐには、[** prepared statements **](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)を使用してください。 SQLインジェクションを防ぐ方法の詳細については、[** this post **](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)を参照してください。 PHPで:) –

答えて

-1

最初の2つのクエリは何かで区切られており、SQLでは理解できません。複数のクエリを使用できます。例を次に示します:bool mysqli_multi_query (mysqli $link , string $query)。あなたはそれについての詳細を読むことができますhere

関連する問題