Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SELECT语句出现致命错误:中的参数编号无效_Php_Mysql_Sql_Select_Pdo - Fatal编程技术网

Php SELECT语句出现致命错误:中的参数编号无效

Php SELECT语句出现致命错误:中的参数编号无效,php,mysql,sql,select,pdo,Php,Mysql,Sql,Select,Pdo,我得到这个错误: 致命错误:未捕获PDOException:SQLSTATE[HY093]:参数无效 人数 这是我的代码(这不起作用): 但是,如果我删除或,它就会工作 "SELECT id, username, email, password FROM users WHERE username = :usernameOrEmail AND password = :password" 尝试下面的查询 SELECT id, username, email, password FRO

我得到这个错误:

致命错误:未捕获PDOException:SQLSTATE[HY093]:参数无效 人数

这是我的代码(这不起作用):


但是,如果我删除
,它就会工作

"SELECT id, username, email, password FROM users WHERE username = :usernameOrEmail AND password = :password"

尝试下面的查询

SELECT 
    id, username, email, password 
FROM 
    users 
WHERE 
    :usernameOrEmail 
    IN (username,email) 
    AND password = :password

因为在查询中不能多次使用命名参数标记

这是PHP版本错误

您尝试更新php版本

您的第一个查询看起来也不错。但请尝试一次
“从用户处选择id、用户名、电子邮件、密码,其中password=:password和(username=:usernameOrEmail或email=:usernameOrEmail)”
并告诉我们是否工作。当您将值分配给
:usernameOrEmail
:password
时,可能在下一行有一些错误。您可能需要绑定
:usernameOrEmail
两次。使用相同的参数并不意味着不需要3个绑定。使用prepare?在prepared语句中不能两次使用同名的命名参数标记:
SELECT 
    id, username, email, password 
FROM 
    users 
WHERE 
    :usernameOrEmail 
    IN (username,email) 
    AND password = :password