默認情況下,我有一個列在mysql表中爲NULL。選擇行不爲空的行?
我想選擇一些行,但只有當該列中的字段值不是NULL時。
鍵入它的正確方法是什麼?
$query = "SELECT *
FROM names
WHERE id = '$id'
AND name != NULL";
這是正確的嗎?
默認情況下,我有一個列在mysql表中爲NULL。選擇行不爲空的行?
我想選擇一些行,但只有當該列中的字段值不是NULL時。
鍵入它的正確方法是什麼?
$query = "SELECT *
FROM names
WHERE id = '$id'
AND name != NULL";
這是正確的嗎?
你應該使用(假設$id
爲整數):
$query = "SELECT *
FROM names
WHERE id = '" . (int) $id ."'
AND name IS NOT NULL";
必須使用IS NULL
或IS NOT NULL
時working with NULL values
請記住,php整數和MySQL字段類型可能具有不同的值範圍。所以'(int)$ id'可能是可行的,可能不是。 – VolkerK 2010-03-20 14:51:57
@VolkerK我在看到未轉義的變量進入SQL綁定的字符串,只是提高知名度而顫抖:) – Andy 2010-03-20 14:59:42
是否需要假設$ id爲整數?我從來沒有做過這樣的事情,但永遠不會遇到問題! – Simon 2010-03-20 17:30:48