我正在使用MySQLi在语句的public static int displayMenu(Scanner keyboard) {
int menuSelection=0;
//...
}
子句中,我要在RHS上添加参数:
准备好的声明:
WHERE
然后我使用$sql = 'select * from emailstobeverified where email=email_input and verification_code=code_input;';
我得到一个PHP错误,说:
$stmt->prepare($sql);
(我以为布尔表达式的LHS算作列?)
以下查询将起作用:
Sql Error: Unknown column 'email_input' in 'where clause'
在这里,我可以使用$sql = 'insert into emailstobeverified (email) values (:email);';
作为参数,所以我尝试使:email
前面有一个冒号:email_input
并将其用作参数。但是我遇到语法错误:
:email_input
将表列值与某些参数进行比较的正确语法是什么?
答案 0 :(得分:1)
您的语法已关闭,而email_input
应该是位置参数:
$sql = "SELECT * FROM emailstobeverified WHERE email = ? and verification_code = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("si", $email_input, $code);
$stmt->execute();