2017-05-05 115 views
-1

什麼是在代碼中的if語句下面的MS Access和PHP

$sql = "INSERT INTO table ($columns) VALUES ($values)"; 
echo $sql; 
$results = odbc_exec($conn, $sql); 
       if ($results){ 
       echo "Query Executed"; 
       }else { 
       echo "Query failed " .odbc_error(); 
      }  

正確的條件還是應

if ($results > 0){ 

請指教。

回答

0

測試odbc_exec()成功或失敗的正確的方法是:

if ($result !== false) { 
    // success 
} else { 
    // failure 
} 

documentation說:

如果SQL命令執行成功返回一個ODBC結果標識符或FALSE的錯誤。

如果函數返回布爾值(FALSE)或非布爾值,請確保使用標識比較運算符。
雖然if ($result)可能在這種情況下工作(它取決於可能的ODBC結果標識符),但在其他情況下不起作用。

例如,strpos()返回FALSE如果未找到子字符串,否則子字符串的位置 - 這意味着0是肯定的結果。
if ($result)在這種情況下將是錯誤的,而if ($result !== FALSE)將按預期工作。