2012-05-21 58 views
0
$sql='SELECT sender 
     FROM messages 
     WHERE message_id = :message_id'; 
$sender_result = $db->query($sql, array(':message_id'=>$message_id)); 
$sender = $sender_result->fetch(); 

我用它來執行上面的sql。我如何在If中使用$sender如何識別sql查詢是否執行?

+0

我會幫你想指定的對象類型的'$的數據庫變量是。 –

+0

你不回答你自己的問題嗎? – ilanco

+0

@ Berry Langerak:$ db是數據庫連接。 '$ dsn =「mysql:host =」。 $ this-> dbhost。 「; dbname =」。 $ this-> dbname;''$ this-> db = new \ PDO($ dsn,$ this-> dbuser,$ this-> dbpwd);' –

回答

0
if(isset($sender[0]))){ 
      return TRUE; 
     } 
     else { 
      return FALSE; 
     } 
1

嘗試使用try-catch代碼爲:

try { 
    $sql='SELECT sender 
     FROM messages 
     WHERE message_id = :message_id'; 
    $sender_result = $db->query($sql, array(':message_id'=>$message_id)); 
    $sender = $sender_result->fetch(); 

} catch(PDOException $ex) { 
    // handle exception by using your own logic 
    echo "An Error occured!"; //a custom error message 
    your_logging_function($ex->getMessage()); 
} 
0

這是你可以測試最簡單的方法

$query = $DB->query("....."); 

if($query) // will return true if succefull else it will return false 
{ 
// code here 
}