2012-01-08 11 views
0

私のmysqlデータベースにいくつかのデータを挿入しようとしています。接続は正常に動作していますが、クエリをデータベースに正しく送信することに問題があります。下に私のPHPのfilleでコードを見つけることができます。私はまた、彼らがデータベースにあるフィールドのタイプのために何を投稿します。php filleで間違ったmysqlクエリですか?

Fields in the mysql database: 
Reservaties_id = int 
Materialen_id = int 
aantal = int 
effectief_gebruikt = tinyint 
opmerking = Varchar2 
datum_van = date 
datum_tot = date 


$resID = $_REQUEST['resID']; 
    $materialen_id = $_REQUEST['materialen_id']; 
    $aantal = $_REQUEST['aantal']; 
    $effectief_gebruikt = $_REQUEST['effectief_gebruikt']; 
    $opmerking = $_REQUEST['opmerking']; 
    $datum_van = date('YYYY-MM-DD',$_REQUEST['datum_van']); 
    $datum_tot = date('YYYY-MM-DD',$_REQUEST['datum_tot']); 



      $string = "INSERT INTO `materialen_per_reservatie`(`reservaties_id`, `materialen_id`, `aantal`, `effectief_gebruikt`, `opmerking`, `datum_van`, `datum_tot`) VALUES ($resID, $materialen_id, $aantal, $effectief_gebruikt, '$opmerking', $datum_van, $datum_tot)"; 
      mysql_query($string); 

答えて

1

あなたは日付フィールド

$string = "INSERT INTO `materialen_per_reservatie`(reservaties_id, materialen_id, aantal, effectief_gebruikt, opmerking, datum_van, datum_tot) VALUES ($resID, $materialen_id, $aantal, $effectief_gebruikt, '$opmerking', '$datum_van', '$datum_tot')"; 

'$dataum_van'のための単一引用符を含める必要があり、これは一例クエリです

0

この

$string = "INSERT INTO `materialen_per_reservatie`(`reservaties_id`) VALUES ('".$resID."')"; 
1

あなたのコードは、あなたが解決しなければならないいくつかの深刻な問題を抱えているしてみてください。 1つは、エラーチェックをしていないので、失敗したときにクエリが黙って壊れてしまうことは驚くことではありません。エラーをチェックし、何がうまくいかないかを教えてくれます。その方法はmanual on mysql_query()またはreference question.に記載されています。例:この特定の場合には

$result = mysql_query($string); 

// Bail out on error 
if (!$result) 
    { 
    trigger_error("Database error: ".mysql_error(), E_USER_ERROR); 
    die(); 
    } 

、私はあなたがVALUESキーワードの後に​​引用符の中に自分の価値観を入れていないからだとかなり確信しています。

また、表示されるコードはSQL injectionの脆弱性があります。あなたが引用符にあなたのクエリですべての値を配置する必要があり、動作するように、このために

$resID = mysql_real_escape_string($_REQUEST['resID']); 

:あなたは、あなたがそうのように使うすべての値をエスケープする必要があります。あなたの入力をサニタイズすることを忘れないでください実装しながら、

関連する問題