エラーログには、Trying to get property of non-objectというメッセージが表示されています。修正方法を教えてください。
mysql_fetch_objectの書き方を教えて下さい。
PHP5.1.6を使用しています。
次のスクリプトを書きましたが、データが取得できません。
$conn_id = mysql_connect("localhost","***","***") or die('Error connecting to MySQL');
mysql_select_db('***',$conn_id);
$query ="SELECT abcd,efgh from XYZ where name='taro'";
$result = mysql_query($query,$conn_id) or die($query.'failed('.mysql_error().')');
$ydata = array();
$xdata = array();
while($row = mysql_fetch_array($result)){ ← 11行目
array_push($ydata, $row->efgh); ← 12行目
array_push($xdata, $row->abcd); ← 13行目
}
エラーログを見ると、
PHP Notice: Trying to get property of non-object in /***/***/****.php on line 12
PHP Notice: Trying to get property of non-object in /***/***/****.php on line 13
となっています。
var_dump($row) 句を入れ、ブラウザから見ると、当然ながら(?)bool(false) と表示されます。
11行目の mysql_fetch_array を mysql_fetch_object に入れ換えて
while($row = mysql_fetch_object($result)){ としても結果は変わりません。
リファレンスマニュアルやサンプルを参照して種々手直ししましたが、今ひとつ正解に辿り着けません。
データを取得して配列に入れるには、どのように修正すれば良いか、教えて頂けませんでしょうか。
お礼
ご示唆のお陰様で問題の方向性が分かってきた気がします。 問題のありかを探る手がかりは掴めたと思います。 しかし、早朝から取り組んでいますが、解決できません。 一旦、締め切らせて頂き、あらためて再質問をさせて頂くことに致します。
補足
ご指導ありがとうございます。 (土・日プログラミングのため、) レスポンスが遅くなっており申し訳ありません。 取り敢えず中間のご報告をします。 var_dump($result); の結果は resource(3) of type (mysql result) となって、データは取得できていると思います。 $dataを用意して行うテストは、今度の土・日の休日に行い、ご報告します。 その節は、お手数をかけますが、またご示唆を頂けると有難いと思っています。