php查询mysql视图_当应该有结果时,PHP MySQL查询视图返回0结果

我有一个运行

PHP 5.6的站点.该站点的数据库最近从MySQL 5.1升级到MariaDB 10.0(MySQL 5.5兼容),现在我的站点上的查询将无法工作(并且在连接到MySQL 5.1数据库时它正常工作.

对于这个演示,我有一个名为“content”的数据库表,字段为“id”(整数),“page_title”(var_char).在该表中有两行 – 一行ID为1,page_title为“Test 1”,第二行ID为2,page_title设置为“Test 2”.

然后我使用phpMyAdmin中的以下查询创建了该表的视图:

select `content`.`id` AS `id`,`content`.`page_title` AS `page_title` from `content`

我可以在phpMyAdmin的视图中看到内容表中的视图和两行.

在我的PHP页面上,我有一个面向对象的样式查询.该代码是:

try {

require_once 'Connections/dbconn.php';

$sql = "SELECT id, page_title FROM v_content WHERE id = 1 LIMIT 1";

$stmt = $db->stmt_init();

if (!$stmt->prepare($sql)) {

$error = $stmt->error;

} else {

$stmt->bind_result($id, $page_title);

$stmt->execute();

$stmt->store_result();

$stmt->fetch();

}

} catch (Exception $e) {

$error = $e->getMessage();

}?>

此查询返回以下内容:尝试在没有与语句关联的结果集时读取行

如果我将表从VIEW“v_content”更改为表“content”,我会返回一个结果.另外,如果我使用相同的查询(查询VIEW v_content),并连接到MySQL 5.1数据库,我会返回结果.我知道查询本身没有任何问题,因为我已经将查询复制并粘贴到phpMyAdmin并返回了结果,并且在MySQL 5.1数据库上使用了完全相同的代码并返回了结果.我检查了错误日志,没有显示错误.

任何人都知道是什么原因导致我从视图中返回0结果?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值