2012-02-16 9 views
0

次のコードは正常に動作しますが、mysqlデータベースは更新されません。

if文をコメントアウトしてMySQLデータベースが正常に更新されるため、sqlクエリは問題になりません。 $ _POST配列と関係があります。私は$ _POST配列に$ row ["id"]を入れたときにうまくいきません。 if文で

if (isset($_POST[" 
     {$row["id"]} 
     "]) && !empty($_POST[" 
         {$row["id"]} 
         "])){ 
    print_r($_POST); 
$food_id = $_POST[$row["id"]]; 



$query = "INSERT INTO `users_foods` 
VALUES('','1','7','','','','')"; 

//$_SESSION['user_id'] 

    $query_run = mysql_query($query); 

} 
+2

row_idを直接挿入しないのはなぜですか? 'isset($ _ POST [$ id]])'この質問は、$ row ['id']の内容とそれがどのように初期化されているか分からずに答えるのが難しいです。 –

+1

多分大量の構文エラーが発生するかもしれません... – joakimdahlstrom

+0

正しく動作するようにデータを送信しているクライアント側のコードをチェックしましたか? –

答えて

0
{$row["id"]} 

を探していると思います

{$row['id']} 
0

引用符が...

$_POST[row["id"]]; 
+0

なぜまだ –

1

を使用してみてください、私はあなたが

isset($_POST["{$row["id"]}"]が間違っている引用符に問題があると思う、あなたはおそらくしたい:

  • isset($_POST[$row["id"]]または
  • isset($_POST[{$row["id"]}]または
  • isset($_POST["{$row[\"id\"]}"]

(引用符は文字列の一部であるマークするために花茎を使用します)しかし、私はあなたがする必要があります最初の1

+0

を試してみたのか分かりません - うまくいきませんでした –