0

datediff を使用している mysql でうまく機能する sql ステートメントがあります。PHP で使用しようとすると、「mysql_fetch_arrary() はパラメーター 1 がリソースであり、ブール値が指定されていることを期待しています」というメッセージが表示されます。

この発言は…

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

私はステートメントが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(hwarを削除する, now())と、ページが機能します。それをフィールドとして使いたかった

$datediff=$row['datediff'];

なぜそれが機能しないのかについての手がかりはありますか?

4

3 に答える 3

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);

この投稿を見て

于 2013-01-31T18:52:01.017 に答える
0

これを試してください:

SQL ステートメントの次の部分を置き換えます: datediff( hwar, now())

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

そして、次のように復元します: $datediff=$row['Diffdate'];

さようなら XD

于 2013-01-31T18:53:58.610 に答える
0

セレクターにエイリアスを与える必要があります。

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

次に、「diff」という名前の列にアクセスできます

于 2013-01-31T18:54:11.633 に答える