php - 带有准备好的语句返回布尔值的 mysqli 子查询
问题描述
所以我准备了一个已经在 mysql 中工作的查询(在 phpmyadmin 中测试),但是我在使用 mysqli 类获取结果时遇到问题,而且没有得到结果真的很奇怪,因为我相信查询是正确的。任何人都可以在以下代码中指出我的错误。
<?php
include_once __DIR__ . '/includes/init.php';
$sql = 'SELECT
`purchase_order`.`id`,
`purchase_order`.`po_date` AS po_date,
`purchase_order`.`po_number`,
`purchase_order`.`customer_id` AS customer_id ,
`customer`.`name` AS customer_name,
`purchase_order`.`status` AS po_status,
`purchase_order_items`.`product_id`,
`purchase_order_items`.`po_item_name`,
`product`.`weight` as product_weight,
`product`.`pending` as product_pending,
`product`.`company_owner` as company_owner,
`purchase_order_items`.`uom`,
`purchase_order_items`.`po_item_type`,
`purchase_order_items`.`order_sequence`,
`purchase_order_items`.`pending_balance`,
`purchase_order_items`.`quantity`,
`purchase_order_items`.`notes`,
`purchase_order_items`.`status` AS po_item_status,
`purchase_order_items`.`id` AS po_item_id
FROM (SELECT id, po_date, po_number, customer_id, status
FROM purchase_order GROUP BY id DESC LIMIT ?, ? ) as purchase_order
INNER JOIN customer ON `customer`.`id` = `purchase_order`.`customer_id`
INNER JOIN purchase_order_items ON `purchase_order_items`.`po_id` = `purchase_order`.`id`
INNER JOIN product ON `purchase_order_items`.`product_id` = `product`.`id`
GROUP BY id';
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$statement = $mysqli->prepare($sql);
$statement->execute();
$offset = 0;
$perpage = 10;
$statement->bind_param('ii', $offset, $perpage);
$result = $statement->get_result();
while ($row = $result->fetch_assoc())
{
echo '<pre>';
print_r($row);
echo '</pre>';
}
提前致谢。
解决方案
您准备/绑定和执行语句和值的顺序不正确...
$statement = $mysqli->prepare($sql);
$offset = 0;
$perpage = 10;
$statement->bind_param('ii', $offset, $perpage);
$statement->execute();
您需要bind_param()
在 the 之前使用,execute()
以便它知道要使用的值。
推荐阅读
- css - 在图像上旋转晕影
- reactjs - React App:Tiny MCE 不会像我在编辑时那样在保存后突出显示代码
- java - 尝试通过 OAuth2 SMTP 发送 Gmail 电子邮件时出现 AuthenticationFailedException
- java - 为什么引用指向一个由java中的concat()方法返回的SCP区域对象?
- python - 无法将小部件添加到框架
- if-statement - 让椭圆大小改变
- javascript - 按类过滤 jQuery 对象并且没有标签
- r - R如何使用断点指定自定义颜色渐变
- gitlab - 根据条件在 Gitlab CI 中运行特定作业
- javascript - 如何修复对象作为 React 子级无效(找到:带有键 {} 的对象)。如果您打算渲染一组孩子,请改用数组