gpt4 book ai didi

php - 这个查询出了什么问题?

转载 作者:行者123 更新时间:2023-11-29 11:56:45 24 4
gpt4 key购买 nike

public function get_modno_sno($id) 
{
$query = 'select a.model_no,a.serial_no,a.stock_id from tra_item_stock a where a.trans_id is NULL and a.model_no = '.$id.'
union
select a.model_no,a.serial_no,a.stock_id from tra_indent_issue_details_2 a where a.flag = 3 and a.model_no ='.$id;
$result = $this->db->query($query);
return $result->result();
}

当我运行此查询时,错误显示为:

column "kb234" does not exist

kb234 是传递给 $id

的字符变化值

最佳答案

您没有用引号将 kb234 括起来,因此数据库将其标识为列名。

您可以修改代码以包含引号:

public function get_modno_sno($id) 
{
$query = "select a.model_no,a.serial_no,a.stock_id from tra_item_stock a where a.trans_id is NULL and a.model_no = '$id'
union
select a.model_no,a.serial_no,a.stock_id from tra_indent_issue_details_2 a where a.flag = 3 and a.model_no = '$id'";
$result = $this->db->query($query);
return $result->result();
}

但是请注意,使用字符串操作创建 SQL 查询是一种狡猾的做法,这会使您的代码容易受到 SQL 注入(inject)攻击。您应该考虑使用 prepared statement .

关于php - 这个查询出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33773666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com