简单查询问题,where子句

时间:2012-08-19 17:17:51

标签: php mysql

我正在尝试查询工作! 我在这里有这个问题:

$data = mysql_query( "SELECT date, time,location,type_of_payment,
        basket_information, user_id FROM retailer")

我也有这个变量:

$getuser[0]['user_id']

我需要设置一个子句,但是我在编写查询时遇到了困难。有人可以帮我编辑吗?

$data = mysql_query( "SELECT date, time,location,type_of_payment,
        basket_information, user_id FROM retailer 
        WHERE user_id = $getuser[0]['user_id']")

谢谢..

3 个答案:

答案 0 :(得分:2)

$data = mysql_query( "SELECT date, time,location,type_of_payment,
                      basket_information, user_id FROM retailer 
                      WHERE user_id=".$getuser[0]['user_id'])

而且,您应该使用PDOmysqli代替mysql

答案 1 :(得分:2)

您正在遇到PHP解析器故障:

$data = mysql_query( "SELECT [..snip..]  WHERE user_id=$getuser[0]['user_id']")

您正在尝试将多维数组(标题#1)插入到双引号字符串中,同时使用带引号的数组键(标题#2)。 PHP的解析器不贪婪,不会"看到" ['user_id']作为数组引用的一部分。这就是为什么有{}的原因。另外,在双引号字符串中引用数组引用中的键会产生警告,所以......试试这个:

$data = "....... WHERE user_id={$getuser[0]['user_id']}")
                               ^---                   ^---

答案 2 :(得分:1)

在执行您可以执行的代码之前,您无法在SQL代码中读取数组:

$user = $getuser[0]['user_id'];
$data = mysql_query( "SELECT date, time,location,type_of_payment,
                      basket_information, user_id FROM retailer 
                      WHERE user_id = $user");