Mysqli bind_result 错误

Mysqli bind_result error

我是 SQL 和 PHP 的新手。我的目标很简单:检查数据库中是否已经存储了电子邮件地址。我正在使用以下代码:

        $email = info@test.pl;      
        $conn = new mysqli("localhost", "root", "", "mysite"); // Create connection
        if ($conn->connect_error) { // Check connection
             die("Connection failed: " . $conn->connect_error);
        }

        $stmt = $conn->prepare("SELECT * FROM contacts WHERE email = ?");
        $stmt->bind_param("s", $email);
        $stmt->execute();
        $stmt->bind_result($email);
        $stmt->store_result();
        $result = $stmt->num_rows;

        echo $result;

每次我遇到错误。它说我在 bind_result 中使用了错误数量的参数。怎么可能?

如果您是这一切的新手,我建议您使用 PDO 而不是 mysqli。

至于你的错误:你 select * 列但只绑定了一个。 您可以将查询更改为 select email,或者取消绑定结果集: 如果您只想检查电子邮件是否存在,您只需要行数。