2013-01-31 42 views
0

我有sql語句,在mysql中使用很好,我正在使用datediff。當我嘗試在PHP中使用它,我得到一個「mysql_fetch_arrary()預計參數1是在給定的資源,布爾」datediff在php中導致錯誤

這聲明是...

$result = mysql_query("select hname, hsn, hmodel, hmake, htype, hwar, datediff(`hwar`, now()) from host where stype='physical';",$db); 

我知道的聲明當我刪除datediff( hwar , now()),我的網頁作品在MySQL

mysql> select hname, hsn, hmodel, hmake, htype, hwar, datediff(`hwar`, now()) from servers.host where stype='physical'; 
+--------------+---------+--------+-----------+-------+------------+-------------------------+ 
| hname  | hsn  | hmodel | hmake  | htype | hwar  | datediff(`hwar`, now()) | 
+--------------+---------+--------+-----------+-------+------------+-------------------------+ 
| moscow  | XXXXXXX | Dell | PowerEdge | R710 | 2013-09-13 |      225 | 
| sydney  | XXXXXXX | Dell | PowerEdge | R710 | 2013-09-15 |      227 | 

工作。我想使用它作爲字段

$datediff=$row['datediff']; 

任何線索,爲什麼它不起作用?

+0

的'mysql'擴展是邪惡的訪問列。改爲使用'PDO_MySQL'或'MySQLi'。請參閱http://php.net/en/mysql-connect – KingCrunch

回答

0

嘗試,使限制在查詢

$result = mysql_query("select hname, hsn, hmodel, hmake, htype, hwar, datediff(`hwar`, now()) as dif from host where stype='physical' LIMIT 0,10 ;",$db); 

this post

0

試試這個:

更換這塊sql語句:DATEDIFF(hwar,NOW())

With:datediff(hwar,now())as Diffdate

並以這種方式恢復: $ datediff = $ row ['Diffdate'];

再見XD

0

你應該給選擇一個別名:

select hname, hsn, hmodel, hmake, htype, hwar, datediff(`hwar`, now()) AS diff from host where stype='physical'; 

然後你可以名爲「差異」