使用SESSION时PHP给出了可变错误

时间:2011-11-29 14:10:58

标签: php mysql session

全部, 我正在尝试编写mySQL查询,但PHP给了我一个错误。给我一个错误的行是:

$qry = "Select * from vendor_options where vendor_option_id='$_SESSION[pav_vendor_categories_$i]'";

上面的代码在for循环中,这就是$ i的填充方式。我收到的错误是:

解析错误:语法错误,意外T_VARIABLE,期待']'

关于什么是错的任何想法?谢谢!

3 个答案:

答案 0 :(得分:3)

$sVendorId = $_SESSION['pav_vendor_categories_' . $i];
$sQuery = "SELECT * FROM vendor_options WHERE vendor_option_id='{$sVendorId}'";

这是您的工作代码。
在查询之外构建供应商选项ID - 这将使您的代码更具可读性。

答案 1 :(得分:2)

试试这个;

$qry = "Select * from vendor_options where 
          vendor_option_id='{$_SESSION["pav_vendor_categories_{$i}"]}'";

演示:http://codepad.org/0nHsFZ8i

答案 2 :(得分:0)

应该是:

$qry = "Select * from vendor_options where vendor_option_id='".$_SESSION["pav_vendor_categories_".$i]."'";

但不要这样做......阅读sql injection

希望这会有所帮助