0
<?php
/*
Template Name: test
*/

// edit these values to match your database information
$server = "localhost";
$user = "root";
$password = "";
$db = "_wp201";

$con = mysql_connect($localhost,$user,$password); 

if (!$con) {
    die("database connection error");
} else {

mysql_select_db($db, $con);

// example query
$result = mysql_query("SELECT * FROM wp_posts
WHERE post_author='1'");

// show all posts by author 1 (admin)
while($row = mysql_fetch_array($result))
  {
    if($row['post_status'] == "publish") {
    echo "".$row['post_title']." <br />";
    }
  }

}
mysql_close($con);
?>

我正在 wordpress 中创建一个自定义注册页面。所以我创建了一个测试页面来测试数据库连接。但是没有显示任何内容。为什么呢?请帮忙。(所有服务器进入都是正确的)

4

2 回答 2

0

停止使用mysql_*函数,它们将从 PHP 5.5.0 起被弃用。


改用 WordPress $wpdb

$myrows = $wpdb->get_results( 
  "SELECT * FROM $wpdb->posts
   WHERE post_author=1" 
);

使用WP_Query的 WordPress 方法:

<?php
/*
Template Name: test
*/

$myquery = new WP_Query( array(
  'author' => 1,
  'post_status' => 'publish'
  ) );

while( $myquery->have_posts() ):
  $myquery->the_post();
  echo get_the_title() . '<br />';
endwhile;
于 2013-03-21T08:04:37.767 回答
0

尝试mysql_fetch_assoc代替mysql_fetch_array

哦,您确定数据库中有包含这些数据的行吗?

于 2013-03-21T07:36:56.610 回答