$SQL="SELECT * FROM `report` WHERE `date_time` LIKE '".$today."%'";
$RS=run_sql($SQL);
或者 :
$RS=search("apps","app_name",$app_name);
這些都會呼叫 PHP 原生的 mysql_query() 函式執行 SQL 指令, 然後以 mysql_numrows() 函式取得資料筆數, 作為迴圈的終值, 在每個迴圈內呼叫 mysql_fetch_array() 取得每筆資料的一維關聯式陣列 (用欄位名稱當索引), 再把此陣列存入一個索引陣列中.
$result=mysql_query($SQL, $conn); //執行 SQL 指令
for ($i=0; $i<mysql_numrows($result); $i++) {
$RS[$i]=mysql_fetch_array($result);
} //end of for
if (mysql_error($conn)) {return $result;}
else {return $RS;}
所以如果有找到一筆紀錄, 則最後傳回來的是一個二維陣列, 例如第一筆的 id 欄位為 $RS[0]["id"]. 如果沒找到任何紀錄的話, 預設傳回 FALSE (即 mysql_query 的傳回值), 除錯模式則會傳回錯誤原因字串, 例如 "MySQL SELECT Error : ......".
所以, 要如何判斷有沒有撈到資料呢? 有兩個辦法 :
- 用 is_array() :
if (is_array($RS)) {....}
else {....} - 用 sizeof() :
if (sizeof($RS)!=0) {...}
else {...}
沒有留言:
張貼留言