简单查询问题,where子句


Simple query issue, where clause

我正在尝试进行查询!我在这里有一个查询:

$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']")

谢谢。。

$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

您遇到了PHP解析器故障:

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

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

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

在执行可以执行的代码之前,不能读取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");