php - 数字字符阻止 MySQL 中成功的 SELECT

标签 php mysql

我从 MySQL 数据库中选择用户的详细信息,虽然大多数用户名都成功匹配,但那些包含数字的用户名却没有成功匹配。

在我的数据库表中,我有一些记录,其中 user_name 列中包含“examplename”和“examplename1”。它们存储为 VARCHAR,排序规则为 utf8_general_ci。

这将返回“详细信息”:

SELECT details FROM username_table WHERE user_name = 'examplename'

然而这并没有:

SELECT details FROM username_table WHERE user_name = 'examplename1'

为什么数字字符会在 VARCHAR 字段中引起问题? (我也尝试过作为文本,也失败了。)

编辑:好的,我的错误。这些是简化的例子;我在实际语句中有 JOIN 子句,巧合的是,在表中的 28 个用户中,我在用户名中包含数字的唯一两个用户上犯了连接错误。抱歉。

最佳答案

我知道这听起来很愚蠢,但是您是否尝试过提取查询,以便您搜索的术语是它自己的变量?

像这样:

$var_name = "examplename1";
$SQL = "SELECT details FROM username_table WHERE user_name = $var_name";
....

当我的查询字符串中有数字时,这通常对我有用。

关于php - 数字字符阻止 MySQL 中成功的 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38372587/

相关文章:

javascript - 从文本创建对象

java - PHP 安全漏洞?

php - 更改 HTML <area> 元素的背景颜色

mysql - 从 MySQL 查询导出 CSV 时传递 outfile FILE_PATH 作为参数

php - 为什么在此示例中使用 tmp_name

php, proc_open 如何传递多个参数

php - 它是 Active Record 类的 where(), like() 限制吗?

mysql - 如何将新用户添加到来自其他托管提供商的 MySQL 数据库?

javascript - Nodejs + Expressjs + Angularjs 空 Mysql 选择结果

iphone - 核心数据与 mysql