0

php.netリファレンスから:

エンコードされている値。リソース以外の任意のタイプにすることができます。この関数は、UTF-8でエンコードされたデータでのみ機能します。

ただし、このような関数を1つのケースで使用すると、正常に機能します。

$result_array = $this->DatabaseObject->_pdoQuery( 'multiple', 'bookmark_model', array( $this->SessionObject->get( 'id' ) ) );
$result_string =  json_encode( $result_array );
$html_string = "<div id='bookmark_data'>" . $result_string . "</div>";
echo $html_string;

しかし、この場合はそうではありません:

$result_array = $this->DatabaseObject->_pdoQuery( 'multiple', 'tweet_model' );
// $tweet_object = new MarkTweet();
$result_string = json_encode( $result_array );
$html_string = "<div id='tweet_data'>" . $result_string . "</div>";
echo $html_string;

どちらの場合も、PDOライブラリを使用してデータベースをクエリしています。本質的に配列の配列であるべきものを取り戻すことは知っていますが、これがリソースであるかどうか、または内部でどのように構造化されているかはわかりません。

私が見ることができるクエリの間に大きな違いはありません...ここにあります。2つのケースは非常に似ているため、失敗の原因はわかりません。

これがクエリです

"bookmark_model" =>         "SELECT * FROM bookmarks WHERE id=? ORDER BY tag, title",

"tweet_model" =>            "SELECT * FROM tweets ORDER BY time DESC LIMIT 7",
4

1 に答える 1

1

_pdoQuery() 関数は、さまざまな状況でさまざまな型を返すようです。エンコードを試みる前に、成功した結果が得られたことを確認することをお勧めします。

于 2012-05-30T19:31:46.750 に答える