Php 在mysql中获取信息时出错
我有一个带有查询的公共函数,但我没有正确地获取所有信息Php 在mysql中获取信息时出错,php,mysql,opencart,Php,Mysql,Opencart,我有一个带有查询的公共函数,但我没有正确地获取所有信息 public function getNextId($product_id,$product_category_id) { $query2zz = $this->db->query(" SELECT * FROM oc_product_to_category a LEFT JOIN oc_product b ON a.product_id = b.product_id LEFT
public function getNextId($product_id,$product_category_id) {
$query2zz = $this->db->query("
SELECT *
FROM oc_product_to_category a
LEFT
JOIN oc_product b
ON a.product_id = b.product_id
LEFT
JOIN oc_product_description c
ON c.product_id = a.product_id
LEFT
JOIN oc_url_alias d
ON d.query LIKE CONCAT('%', 'a.product_id', '%')
WHERE a.product_id > '" . (int)$product_id . "'
AND a.category_id = '" . (int)$product_category_id . "'
AND b.status = '1'
ORDER
BY a.product_id ASC
LIMIT 1");
我想为下一个按钮获取下一个id。若你们访问一个产品,你们可以点击“下一步”按钮,你们将进入同一类别的下一个产品(衣服)。
问题是在oc_url_别名上,我应该在其中获取下一个id的url,正如我在这里提到的,其中a.product_id>“(int)$product_id。”,但有时它会获取错误的url(我的意思是获取另一个产品的url)。
谢谢 您的代码易受SQL注入攻击。请学习使用。强制转换不会阻止sql注入。我应该用mysql\u real\u escape\u字符串(“((int)$product\u id.”)替换“(int)$product\u id.”吗?Distinct*是矛盾修饰法mysql\u方法不推荐使用-使用Opencart的转义方法
$this->db->escape($product\u id)