从mysql数据库中检索数据

时间:2012-07-06 01:09:56

标签: php mysql wordpress

我有一个使用wordpress为网站创建的mysql数据库,当使用wordpress发布一些文本时,它会将其存储在该数据库中。当我尝试使用php文件提取此文本时,它返回null,但如果我删除此文本并手动编写(没有wordpress),它会很好。因为它是使用wordpress创建的,所以我需要做什么才能拉这个文本?表的结构如下,字段:post_content类型:longtext。谢谢你的帮助

代码:

$query = "SELECT post_content FROM meiplay_posts WHERE post_type = 'portfolio'";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
    $output[] = $row;
print(json_encode($output));

2 个答案:

答案 0 :(得分:1)

添加一些错误处理:

$result = mysql_query($query) or die(mysql_error());

如果mysql_query出现问题,这将导致打印错误消息。希望错误信息会有所帮助。

另外,the documentation for mysql_query says

  

不鼓励使用此扩展程序。相反,应该使用MySQLi或PDO_MySQL扩展。

所以我建议使用PHP作者推荐的库。

此外:

$query = "SELECT post_content FROM meiplay_posts WHERE post_type = 'portfolio'";

您确定存在post_type = 'portfolio'的列吗?尝试在没有WHERE部分的情况下进行选择,看看你是否得到任何东西。也许它略有不同,比如Portfolio而不是portfolio

答案 1 :(得分:1)

Wordpress为您提供了一个类,使您可以更轻松地在数据库上运行查询。 参考:http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Column

尝试:

$result = $wpdb->get_col($wpdb->prepare("SELECT `post_content` FROM `meiplay_posts` WHERE post_type = 'portfolio'")); 

if ($result) 
{
   echo $result->post_content;
   echo json_encode($result);
};