我是PDO的新手,我試圖執行查詢。帶參數的PDO查詢
$stmt = $dbh->prepare('SELECT * FROM tbmeseros WHERE alias_mesero=:alias AND res_mesero=:rest');
$stmt->execute(array(':alias'=>$alias,
':rest'=>$rest));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if(! $row)
{
//to do when the query is empty
}
else if ($row)
{
//to do when the query is not empty
}
查詢已執行,但條件未滿足。
我需要的是,當沒有結果的查詢,下一步必須/ /當查詢是空的。
但查詢是不是空的,但條件:
if(! $row)
{
//to do when the query is empty
}
執行...
任何幫助是值得歡迎的。謝謝。
編輯問題
我改變了我的代碼,它現在正在工作。 這是我的新代碼:
$sql = 'SELECT alias_mesero
FROM tbmeseros
WHERE alias_mesero = :alias AND rest_mesero = :rest';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':alias'=> $alias, ':rest' =>$rest));
$red = $sth->fetchAll();
//echo count($red);
if(count($red)==0)
{
//to do if query results are 0
}
else
{
// to do if query results are >0
}
你的問題不清楚。這是你的邏輯或查詢的問題嗎? – Ibu
@Ibu,感謝您的評論。我正在使用實際值檢查查詢,並使用給定的值查詢結果應該是表中有符合條件的記錄。問題是執行的if條件是if(!$ row){...}可能是邏輯錯誤。 – rzimmerman
獲取結果後,嘗試'var_dump($ row)'。 – hjpotter92