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