2012-04-17 56 views
-1

如果用戶登錄,則獲取用戶成員標識。所以我打印用戶ID。這工作,所以如果用戶不登錄我打印0用戶ID。現在當我選擇任何數據形式的MySQL(如果用戶不登錄$ id ='0';)我的代碼不工作,我不能打印結果。我認爲我的問題是id = '.$id.'中的單引號。如何解決這個問題?當id爲空時,使用php從mysql中選擇數據

檢查,如果用戶登錄:

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

你不能刪除引號嗎? I.E. '$ id = 0;'? – 2012-04-17 21:33:01

+0

你在哪裏得到'$ row2' – mgraph 2012-04-17 21:35:46

+0

不用試試。作爲id ='$ id',也在哪裏$ row2? – 2012-04-17 21:36:51

回答

0

嘗試:

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

也應該 $ 2行[ '身份證'] 是 $行[ '身份證']

1

首先PDO(或者任何事先準備好的聲明的機制),將解決您在構建查詢時遇到的大部分問題。這種意大利麪條SQL閱讀不好。

在這裏,你有例子:http://www.php.net/manual/en/pdo.prepare.php

也許你想記錄與空值? NULL在MySQL中的處理方式有點不同。 你必須做的:

SELECT * FROM table WHERE field IS NULL;