php-MYSQLPDOはfetchAllから複数の行をフェッチしません
単一のクエリを使用してワードプレスですべての投稿を取得する方法。
fetchAll()を使用して以下を試しましたが、機能しません。
投稿の総数と同じ回数だけ{-code-1}
が表示されます。
コード:
更新されたヘルパーファイル:
テンプレートファイル
DBの構造は次のとおりです。 出力:
コメントされている1番目のクエリの場合:
vardumpingの結果 現在使用しているクエリの場合:
var_dump($ values)の出力:
ヘッダーとフッターのある空のページ。 $queryの行より上のエコーでも表示されません。 とても奇妙です!! $posttypevalue = Mage::helper('wordpress')->getPostMetaData();
var_dump($posttypevalue); //gives NULL
public function getPostMetaData()
{
try{
$resource = Mage::getSingleton('core/resource');
$readConnection = $resource->getConnection('new_db');
//$query = 'SELECT meta_value FROM ' . $resource->getTableName('wp_postmeta'). ' WHERE post_id = '.$postID.' and meta_key = "type"';
echo 'vardumping results'; //Even this line is not displaying
$query = 'SELECT wp_posts.*, wp_postmeta.meta_value
FROM wp_posts ,wp_postmeta
WHERE wp_posts.ID =wp_postmeta.post_id
AND wp_postmeta.meta_key="type"
AND wp_posts.post_status="publish"';
$results = $readConnection->fetchAll($query);
//$postdata = array();
//foreach($results as $value){
//var_dump($value); //gives empty
//$postdata[]= $value['post_title'];
//}
}catch (Exception $e) {
return true;
}
}
$query = 'SELECT meta_value FROM ' . $resource->getTableName('wp_postmeta'). ' WHERE post_id = '.$postID.' and meta_key = "type"'
1
が5回表示されました
答え :
解決策:
var_dump($value)
を実行してコンテンツを表示できます。
$postdata[] = $value['post_title'];
を使用する必要があると思います。
結果のフィールド名にテーブル名が含まれていません。
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。