-1

如果用户登录,我会得到用户成员 ID。所以我打印用户 ID。这很有效,所以如果用户没有登录,我会打印0用户 ID。现在,当我选择任何数据表单 mysql (如果用户未登录 $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。谢谢。

4

2 回答 2

1

首先,PDO(或任何准备好的语句机制)将解决您在构建查询中的大部分问题。这种意大利面条式的 SQL 读起来不好。

这里有例子:http ://www.php.net/manual/en/pdo.prepare.php

也许您想获取空值的记录?NULL 在 mysql 中的处理方式略有不同。你所要做的:

SELECT * FROM table WHERE field IS NULL;
于 2012-04-17T21:48:53.063 回答
0

尝试:

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

$row2['id'] 也应该是 $row['id']

于 2012-04-17T21:34:43.853 回答