未知列“ email_input”(PHP MySQLi预准备语句)

时间:2019-05-01 03:22:25

标签: php mysqli

我正在使用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

将表列值与某些参数进行比较的正确语法是什么?

1 个答案:

答案 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();