アプリ版:「スタンプのみでお礼する」機能のリリースについて

宜しくお願いします。
mix~max値の間、発行したクエリーからの値を配列に入れたいのですが、どうもFor文中にmin,max値は届いているのですが,$resultに値が入りません。
エラーからしてSQLで行っている変数処理に$iの値が届いてない感じがするのですが、下記のソースを見て頂いて、疑わしき点などご指摘、ご教授いただけませんでしょうか。

どうぞ宜しくお願いします。


--エラー文ここから--->
Catchable fatal error: Object of class stdClass could not be converted to string in ...




--ソースここから--->

$min = h($r -> x);
$max = h($s -> y);
for($i=$min ; $i<= $max; $i++){
$search = sprintf("SELECT id FROM Sheet WHERE no='%d'",$i);
$q_search = mysql_query($search);
$result = mysql_fetch_object($q_search);
echo $result;
}

A 回答 (2件)

PHPあまり詳しくないので間違っていたらすいません。




>$result = mysql_fetch_object($q_search);
でresultはobject型で代入しておりそれを表示するときにString型に変換できていないのが原因かとおもわれます。

参考URL
mysql-query
http://php.net/manual/ja/function.mysql-query.php

mysql-fetch-array
http://php.net/manual/ja/function.mysql-fetch-ar …

mysql_fetch_object
http://phpspot.net/php/man/php/function.mysql-fe …
    • good
    • 1
この回答へのお礼

ご教授いただき、有難うございました。

お礼日時:2010/08/31 21:44

こんにちは。



#1さんの仰る通りです。
mysql_fetch_objectの戻り値はObjectで、PHPは内部的に、stdClassというクラスを生成して返します。
この場合、$resultはクラスで、SQLの結果はプロパティとして格納されます。
echoで出力するためには文字列にしないと駄目ですが、ここで変換不可能というエラーが発生します。
Object型はArrayには変換できるので、せめてprint_r()かvar_dump()を使えば表示できなくはないですが、そもそもmysql_fetch_objectを使わないでいいような気がします・・・。
    • good
    • 1
この回答へのお礼

ご教授有難うございます。
ご指摘の点もございますが、SQL~クエリー発行が正しく処理できてないようなので、SQLを見直しが必要なようです。
とりあえず現状進展の見込みありませんので、一旦本件終了にさせて頂きます。
ありがとうございました。

お礼日時:2010/08/31 20:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!