数据库连接问题,无法从数据库中获取数据
问题描述:
<?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中创建了一个自定义注册页面。所以我创建了一个测试页面来测试数据库连接。但是没有显示出来。为什么?请帮忙。 (所有服务器进入是正确的)数据库连接问题,无法从数据库中获取数据
答
尝试mysql_fetch_assoc
代替mysql_fetch_array
噢,你肯定有包含这些数据的数据库的任何行?
答
停止使用mysql_*
函数,它们将自PHP 5.5.0起弃用。
改为使用WordPress $wpdb
。
$myrows = $wpdb->get_results(
"SELECT * FROM $wpdb->posts
WHERE post_author=1"
);
WordPress的方式使用WP_Query做到这一点:
<?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;
是的,我敢肯定。我再次检查数据库。 – Pey 2013-03-21 07:56:37
所以没有打印在页面上?检查没有打印空值的源代码,试试'var_dump($ result);' – Dediqated 2013-03-21 08:01:29
是因为Wordpress有自己的数据库集成' – Pey 2013-03-21 08:08:00