2017-06-05 70 views
0

我在我的PHP文件作爲下一個選擇查詢>>設置默認值,如果MySQL的選擇查詢返回的空行

$sql = 'SELECT * 
    FROM notes 
    WHERE notes.code_apogee='.$CA.''; 

返回一些空行,我應該設置的默認值< <「恩出席」

我用IFNULL如下:

SELECT IFNULL((SELECT * 
    FROM notes 
    WHERE notes.code_apogee='.$CA') ,'en attend'); 

但錯誤出現

MySQL a répondu: Documentation 
#1241 - Operand should contain 1 column(s) 

任何幫助?請

+1

如何定義「空行」?特定列或特定行中的所有列?你能舉一個你的數據集的例子嗎? – Qirel

+0

在筆記表中我有一組列,code_apogee是其中之一,我用它作爲條件在這種情況下,一些行返回一個空白字段,所以想要放入一個默認值? –

+0

我認爲(不確定):函數IFNULL只將一個列/值作爲參數。你給它幾個(儘可能多的表格筆記中的所有列) – Jeff

回答

2

IFNULL()不會將子查詢(這是您的案例中的所有列)作爲參數,而只是一個(加上else值)。
所以,你的查詢應該是這樣的:

SELECT id, 
    IFNULL(notes.title, 'en attend') as title, 
    IFNULL(notes.body, 'en attend') as body 
FROM notes 
WHERE notes.code_apogee='.$CA' 

(我剛剛發明notes.title & notes.body,你需要更換與實際列名)

你當然可以讓db只是返回NULL並在顯示結果時添加'en attend':

echo !is_null($row['title']) ? $row['title'] : 'en attend'; 
+0

抱歉,但這並不奏效,謝謝 –

相關問題