我是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中使用了错误的参数数量。它怎么样?
答案 0 :(得分:1)
如果您对这一切都不熟悉,我建议您使用PDO而不是mysqli。
至于你的错误:你select *
列,但只绑定一个。
您可以将查询更改为select email
,或者取消绑定结果集:
如果你想要的只是检查电子邮件的存在,你只需要行数。