粘贴此PHP会破坏我的页面。为什么?

时间:2011-11-21 作者:Trip

我尝试了几个echo命令,它们正确返回。

Breaking Statement

<?php 
$gallery_ids = $wpdb->get_results(
"SELECT gid FROM ".$wpdb->prefix."ngg_gallery ORDER BY gid ASC", ARRAY_A);
?>
这会导致此语句之后的任何内容都不会显示,从而导致页面中断。

如果我这样做:

<?php
$custom_query = new WP_Query( \'posts_per_page=3&cat=1\' );
if ( $custom_query->have_posts() ) : while ( $custom_query->have_posts() ) : $custom_query->the_post(); ?>

<p id="title"><?php the_title(); ?></p>
<p id="small-date">Posted on: <?php the_time(\'F j, Y\') ?></p>
<?php the_excerpt(); ?>
<hr />
它工作得很好。所以我知道它可能需要复杂的PHP语句。

我很好奇为什么我之前的陈述会被打断。。

1 个回复
最合适的回答,由SO网友:EAMann 整理而成

确保引用全局$wpdb 变量优先,否则PHP不知道$wpdb 是否有get_results() 方法或aprefix 所有物

所以只需添加global $wpdb; 要修复它,请执行以下操作:

<?php 
global $wpdb;
$gallery_ids = $wpdb->get_results(
"SELECT gid FROM ".$wpdb->prefix."ngg_gallery ORDER BY gid ASC", ARRAY_A);
?>

结束