php - 使用字母时尝试从数据库中选择时未捕获异常 'ErrorException'

标签 php mysql

我正在尝试从数据库中选择一个值,如果一切都只是数字,它可以完美工作 - 但如果涉及字母,它就无法工作。这是 OpenCart 中的。

我的专栏名为 campaign_code ,其类型为 VARCHAR

这是命令...

$campaign_id = $this->db->query("SELECT campaign_id FROM " . DB_PREFIX . "campaign WHERE campaign_code = ". $this->db->escape($campaign_code)); 

$campaign_code等于任何数字时都可以。它按预期进行选择。

当它是字母或数字或字母的组合时,我收到此错误...

Uncaught exception 'ErrorException' with message 'Error: Unknown column '85f' in 'where clause'<br />Error No: 1054<br />SELECT campaign_id FROM oc_campaign WHERE campaign_code = 85f' in C:\xampp\htdocs\microcharity\system\database\mysqli.php:40

谢谢。

最佳答案

where 子句 中使用整数 时,您可以避免使用引号,但在使用字符串时,您必须将其括在单引号中。

对于整数 -

$campaign_id = $this->db->query("SELECT campaign_id FROM '".DB_PREFIX."' WHERE campaign_code = ".$this->db->escape($campaign_code).""); 


对于字符串 -

$campaign_id = $this->db->query("SELECT campaign_id FROM '".DB_PREFIX."' WHERE campaign_code = '".$this->db->escape($campaign_code)."'"); 

关于php - 使用字母时尝试从数据库中选择时未捕获异常 'ErrorException',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23134667/

相关文章:

php - 如何使用 CakePHP3 定义多对多关系?

php - WooCommerce 似乎只按日期订购而不是价格

mysql - 从文本创建文章别名的 SQL 查询

mysql - 改进特定的 MySQL 查询以减少 CPU/磁盘密集型

php - 使用 INSERT ON DUPLICATE UPDATE 查询 2 个表

php - 我的用户声称我的应用程序突然假设了另一个用户

类似于 Python Pylons 的 PHP 框架

php - 将来自其他表的 select id 与 insert on single 命令结合起来

mysql - sql获取最常用的记录

MySQL INSERT 在同一张表上使用带 COUNT() 的子查询