0

我有一个 mysql 数据库,它是为使用 wordpress 的网站创建的,当使用 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));
4

2 回答 2

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);
};
于 2012-07-06T02:53:54.763 回答
1

添加一些错误处理:

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

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

此外,文档mysql_query

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

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

还:

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

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

于 2012-07-06T01:15:44.653 回答