使用MySQL和PDO,我有以下準備好的聲明:可選參數
$stmt = $bdd->prepare('SELECT field FROM table WHERE category=:category;');
然後,如果我這樣做,它工作得很好,我有所有我想在$results
:
$stmt->execute(array('category' => $someCategory));
$results = $stmt->fetchAll();
但是,我也希望能夠執行相同的聲明,沒有WHERE
子句。是否有可能執行準備好的語句並讓它忽略WHERE
子句(例如通過不傳入任何參數)?
或者我必須做一個新的SELECT field FROM table;
查詢嗎?
注意:$stmt->execute();
返回「No data supplied for parameters in prepared statement」
和$stmt->execute(array('category' => ''));
什麼都不返回。
感謝
您是否從第二次嘗試的查詢中刪除了WHERE子句? –
*「$ stmt-> execute(array('category'=>''));不返回任何內容。」* ---確切地說。你不要求任何東西,你會得到這個;沒有。 *是不是正確的山姆?* @JayBlanchard –
'SELECT字段,類別'也許? –