php - MySQL 使用 WHERE 和 OR

标签 php mysql

我允许人们在输入密码之前输入他们的用户名、帐号或电子邮件地址,因此我需要将他们的输入与我表中的 3 个字段进行比较,但我没有得到任何结果。

我第一次尝试这个...

$result = mysqli_query($con,"SELECT * FROM useraccounts WHERE username='$thisuser' or accnum='$thisuser' or email='$thisuser'");

然后我在这里读到括号应该放在 OR 语句周围,所以试了一下...

$result = mysqli_query($con,"SELECT * FROM useraccounts WHERE (username='$thisuser' or accnum='$thisuser' or email='$thisuser')");

但都不起作用,请有人帮忙

只是为了比较,当我输入用户名值时这确实有效......

$result = mysqli_query($con,"SELECT * FROM useraccounts WHERE username='$thisuser'");

最佳答案

accnum 的数据类型是什么?你确定是varchar吗?

如果 accnum 是numeric 类型则尝试

$result = mysqli_query($con,"SELECT * FROM useraccounts WHERE (username='$thisuser' or accnum=$thisuser or email='$thisuser')");

关于php - MySQL 使用 WHERE 和 OR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22068029/

相关文章:

php - 如何为具有 HTTPS 的子域设置 php.ini 和 session.php 的变量以使用共享 session ?

php - 无法检索数据以使用 codeigniter 通过电子邮件发送

php - sqldatabse 不接受非英文字符

mysql - 在执行 insertQuery 时将 Id 设置为同一表中的其他列

mysql - VS2012 模型第一个 EF : CSDL, MSL、SSDL。系统找不到指定的MYSQL文件

php - 由于 AVG,选择查询返回 1 个结果而不是 3 个

php - 正则表达式将 URL 转换为链接而不会弄乱文本中的现有链接

php - 当 mysql 到远程服务器时,LOAD DATA LOCAL INFILE 不起作用

php sql检查值为每个肯定记录打印一行

php - 输入表单将数据作为数值而不是实际数据插入