2017-05-05 80 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)将按预期工作。