带有哈希变量的PHP MYSQL更新

时间:2010-08-01 04:02:29

标签: php

我需要一些帮助来理解将变量与这样的字符串混合的正确方法。我已经尝试了我能想到的所有配置,并且一直出现错误。

<?php
include('connect.php');
foreach($_GET['item'] as $key=>$value) {
    mysql_query("UPDATE userprojectlist SET category_display_order = '$key' WHERE category_id = '$value' ");
}
?> 


Notice: Undefined index: item in updatedb.php on line 3

Warning: Invalid argument supplied for foreach() in pdatedb.php on line 3

3 个答案:

答案 0 :(得分:3)

item中的item[]数组是否为"UPDATE userprojectlist SET category_display_order = " . $key . " WHERE category_id = " . $value . ";" ?如果不是你得到那个错误的原因,你就不能遍历非迭代器对象!

如果它们是数字并使用字符串连接,也可以除去值周围的单引号

{{1}}

答案 1 :(得分:3)

Notice: Undefined index: item in updatedb.php on line 3

此错误表示没有定义$_GET['item']的变量。您可能没有将$_GET['item']传递到此页面。

Warning: Invalid argument supplied for foreach() in pdatedb.php on line 3

因此,由于上一个错误,您得到此信息,因为$_GET['item']不是数组。

该错误与SQL代码无关。

答案 2 :(得分:1)

mysql_query('UPDATE userprojectlist SET category_display_order = ' . $key . ' WHERE category_id = ' . $value );

mysql_query("UPDATE userprojectlist SET category_display_order = $key WHERE category_id = $value" );

这假设两个变量都是整数。