php - mysql 语法错误,看不出什么问题

标签 php mysql codeigniter

使用此语句调用数据库。出现错误,不确定我在这里做错了什么。说未知列,但 kns2184 不是列名,而是列中的字段。

$sql = "update p4p.users_csv_import
set is_dupe=".(int)(1)." where users_csv_import.username=".$user_name;
$this->db->query($sql);

这是我的错误:

Error Number: 1054

Unknown column 'kns2184' in 'where clause'

update p4p.users_csv_import set is_dupe=1 where users_csv_import.username=kns2184

Filename: /Applications/MAMP/htdocs/models/user_import_model.php

Line Number: 47

最佳答案

您需要像这样引用字符串:

$sql = "update p4p.users_csv_import
set is_dupe=".(int)(1)." where users_csv_import.username='".$user_name."'";

不过,我强烈建议您研究一下 PDO 和参数绑定(bind)。字符串连接不是构造 SQL 查询的安全方法。

关于php - mysql 语法错误,看不出什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20645914/

相关文章:

mysql - Hibernate 不释放 MySQL 连接

mysql - MySQL中如何连接三个表

php - 如何使用codeigniter在下拉列表中显示数据库表列表

php - 如何使用事件记录从 codeigniter 中的另一个表获取值?

javascript - 在 codeigniter 上使用 ajax 插入数据

php - 引号(引号)在乌尔都语中产生问题

php - 如何旋转图像和保存图像

javascript - 这个 php json_encode 的 Node.js 等价物是什么?

php - 如何在 PHP (Laravel) 中使用多个接口(interface)实现?

php - MySQL 和 PHP 从注册日期开始计算分钟和小时?