Fatal error: Uncaught Error: Cannot pass parameter 2 by reference

Fatal error: Uncaught Error: Cannot pass parameter 2 by reference

这是代码。

$emailQuery = "SELECT * FROM `userprofile` WHERE `user_deped_email`=? OR `user_email`=? LIMIT 1";
$stmt = $connection->prepare($emailQuery);
$stmt->bind_param('s', $depedemail OR $personalemail);
$stmt->execute();
$query_run = $stmt->get_result();
$userCount = $query_run->num_rows;

我不确定我是否做对了。我需要传递一个选项来绑定。用户可以选择是否输入他的任一电子邮件帐户,并且只需要一个帐户。

您的查询中有 2 个占位符,因此您需要绑定两个变量。

//                       V        and      V
WHERE `user_deped_email`=? OR `user_email`=?

bind_param() 应该是:

$stmt->bind_param('ss', $depedemail, $personalemail);

$depedemail OR $personalemail是表达式,表达式不是变量。您不能通过引用传递表达式的结果。