Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
id为空时使用php从mysql选择数据_Php_Mysql - Fatal编程技术网

id为空时使用php从mysql选择数据

id为空时使用php从mysql选择数据,php,mysql,Php,Mysql,如果用户是登录名,则获取用户成员id。所以我打印用户id。如果用户未登录,我将打印用户id的0。我想我的问题是id=.$id.中的单引号。如何解决这个问题 已检查用户登录是否: if($_SESSION['login'] > 0){ $id = $row['id']} else { $id = '0';} 选择具有用户id的数据: $sql = 'SELECT * FROM data_test WHERE id = '.$id.' AND productid = '.$row

如果用户是登录名,则获取用户成员id。所以我打印用户id。如果用户未登录,我将打印用户id的
0
。我想我的问题是
id=.$id.
中的单引号。如何解决这个问题

已检查用户登录是否:

if($_SESSION['login'] > 0){
   $id = $row['id']} else {
   $id = '0';}
选择具有用户id的数据:

$sql = 'SELECT * FROM data_test WHERE id = '.$id.' AND productid = '.$row2['id'];

 ......
编辑说明:
$row2['id']
是另一个结果,与
$id
无关。 谢谢。

试试:

$sql = "SELECT * FROM data_test WHERE id = '$id' AND productid = '{$row2['id']}'";
也应该 $row2['id'] 是 $row['id']

首先,PDO(或任何准备好的语句机制)可以解决构建查询时的大多数问题。这样的意大利面SQL在阅读中是不好的

这里有一些例子:

也许你想得到空值的记录? 空值的处理方式略有不同。 你必须做到:

SELECT * FROM table WHERE field IS NULL;

你能不能把引号去掉?即,
$id=0?从何处获得
$row2
请尝试不使用。as id=“$id”,其中$row2?@christian.thomas:+1。现在工作了。