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

时间:2012-04-17 21:30:54

标签: php mysql

如果用户登录,我会获得用户成员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无关。 感谢。

2 个答案:

答案 0 :(得分:1)

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

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

也许你想获得空值的唱片? NULL在mysql中以不同的方式处理。 你必须这样做:

SELECT * FROM table WHERE field IS NULL;

答案 1 :(得分:0)

尝试:

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

也应该     $ 2行[ '身份证'] 是     $行[ 'ID']