我有一个使用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));
答案 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);
};