【问题标题】:retreaving data from a mysql database从 mysql 数据库中检索数据
【发布时间】:2012-07-06 01:09:55
【问题描述】:

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

【问题讨论】:

  • 您正在运行什么查询?你在运行什么 PHP 代码?
  • $query="SELECT post_content FROM meiplay_posts WHERE post_type = 'portfolio'"; $result=mysql_query($query);而($row=mysql_fetch_assoc($result)) $output[]=$row;打印(json_encode($output));
  • 我尝试了引号 ('post_content') 但我得到的只是 "post_content":"post_content" 我没有得到文本。我还为 $result 添加了额外的代码,但我没有收到任何错误消息
  • 您确定已连接到数据库吗?您是否按照 Brendan Long 的建议添加了错误处理?
  • 是的,我添加了代码,是的,我已连接到数据库!

标签: php mysql wordpress


【解决方案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

【讨论】:

  • 是的,我检查过了,如果我通过手动输入内容来编辑 post_content 字段,它可以正常工作
  • @paul590 如果你手动添加一些东西,那么你不是从数据库中选择,你只是在检索你给它的数据..
  • 没错,我正在尝试使用 MYSQLi,但也没有运气
【解决方案2】:

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);
};

【讨论】:

  • 这是一个很好的参考谢谢!我正在尝试您在上面发布的方法,但我不断收到此错误:致命错误:在第 8 行的 /homepages/17/d280020283/htdocs/meiplay/folder/index.php 中的非对象上调用成员函数 get_col()
猜你喜欢
  • 2017-08-02
  • 2013-03-24
  • 1970-01-01
  • 2013-04-02
  • 2015-12-03
  • 1970-01-01
  • 1970-01-01
  • 2016-09-16
  • 1970-01-01
相关资源
最近更新 更多