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_fetch_assoc代わりに試してくださいmysql_fetch_array

ああ、これらのデータを含む行がデータベースにあると確信していますか?

于 2013-03-21T07:36:56.610 に答える
0

関数の使用をやめてmysql_*ください。関数は PHP 5.5.0 で非推奨になります。


$wpdb代わりにWordPressを使用してください。

$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 に答える