ai didi

PHP 查询不返回带有 varchar 的行

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

我有一个 mysql 表,其中用户列是 varchar。

这适用于 int 类型

$result = mysql_query("SELECT name FROM users WHERE id='$id'");

但是当我尝试匹配 varchar 时,没有返回任何内容。

$result = mysql_query("SELECT name FROM users WHERE user='$username'");

我尝试删除这些值,但仍然一无所获。

有什么建议吗?

最佳答案

我通常使用这样的东西。 (加上一些 sanitizer )

$username = strtolower($username);
$result = mysql_query("SELECT name FROM users WHERE LCASE(user)='{$username}'");

无论他们如何输入,通过使大小写相同,您都会获得用户名。

由于您使用的是 =,因此它必须完全匹配。否则你会使用LIKE

我上面提供的代码将返回用户名的精确匹配。此代码将强制 $username 全部小写,然后我们可以使用 LCASE 对 MySQL 执行相同的操作。现在您可以进行相同的匹配。

您可能遇到的问题是 userNameUserName 甚至 UsErNaMe 不同。确保在进行完全匹配时大小写也相同。

关于PHP 查询不返回带有 varchar 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22820715/

24 4 0
文章推荐: mysql - 显示数据库中所有创建的表?
文章推荐: sql - 如何从 timestamptz 中提取一致的年份
文章推荐: 使用 4 个变量的 SQL 搜索
文章推荐: php - 根据另一个表的条件获取连接表的行数
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com