2009-05-29 19 views
0

2つのドロップリストを使用してレコードを追加しようとする際に問題が発生しています。 URLの詳細を保持するUrlsというテーブルがあります。カテゴリと呼ばれるテーブルがドロップリストに設定されています。別のドロップリストを設定するpublishersという別のテーブルがあります。私は$ Kなどの「ポスターは」私は私の構文解析中のエラーを得続けるようurl_publisher_idを追加しようとする2つのドロップリストを関連するテーブルに追加する

  $query = 'INSERT INTO url_associations (url_id, url_category_id, approved, url_publisher_id) VALUES '; 
     foreach ($_POST['types'] as $v){ 
      $query .= "($uid, $v, 'Y', $k), "; 
     } 
     $query = substr ($query, 0, -2); // Chop off the last comma and space. 

     $result = @mysql_query ($query); // Run the query. 

     if (mysql_affected_rows() == count($_POST['types'])) { // Query ran OK. 

      echo '<p><b>Thank you for your submission!</b></p>'; 
      $_POST = array(); // Reset values. 

     } else { // If second query did not run OK. 

上記のコードは、私はカテゴリがリストをドロップ使用してデータをADDDすることができますが、。誰でも私が達成しようとしていることを理解できれば歓迎されます

答えて

0

_POST($ kとしてのポスター){`

と完璧に実行しました。

ありがとうございました。

ショーン

1

あなたの$ k変数の値が整数または浮動小数点数以外であれば、

$query .= "($uid, $v, 'Y', '$k'), "; 

注:例には大きなセキュリティ上の問題があります。 $ _POSTからのユーザー入力をエスケープせずにSQLに入れると、データベース上で実行するSQLコマンドを実行することができます。

それは foreachの($($ Vと$ _POST [タイプ])

」のforeachを読み取って、私は//($ kと$ _POST [ポスター])

を余分な配列のforeachを追加した

+0

ありがとうございましたが、$は$ V 私はどのようにすればいいようにカテゴリID「タイプ」をv.Decalresとして私の問題は、コード$ _POST [「タイプ」]で変数$ kの を宣言していますurl_publisher_idは$ kとして変数 'ポスター'と同じです。 私はurl_publisher_idをインクルードするために行に追加しようとしましたが、成功しませんでした。 私のエラーは、未定義の変数kであり、不正な整数値につながります。 k変数のデカールを試みる際に問題が発生しています。 ありがとうございました – Ddywalgi

+0

セキュリティ上の問題を強調していただき、ありがとうございました。より安全なソリューションを見つけるためにこれを調査します。 – Ddywalgi

+0

私はあなたの質問を理解していないと思います。 「私の解析に間違いがありますか?」という意味を説明できますか? – dellsala

関連する問題