简体   繁体   English

bind_param 错误

[英]bind_param error

This is my Error:这是我的错误:

Warning: mysqli_stmt::bind_param() [mysqli-stmt.bind-param]: Number of variables doesn't match number of parameters in prepared statement in /Applications/XAMPP/xamppfiles/htdocs/Jil/benutzer_eintragen.php on line 19警告:mysqli_stmt::bind_param() [mysqli-stmt.bind-param]:变量数与第 19 行 /Applications/XAMPP/xamppfiles/htdocs/Jil/benutzer_eintragen.php 中准备好的语句中的参数数不匹配

and this is my Code这是我的代码

$sql = "INSERT INTO benutzer SET vorname='?', nachname='?', username='?', email='?', passwort='?';";
$stmt = $db->prepare($sql);
$stmt->bind_param("sssss", $vorname, $nachname, $username, $email, $passwort);
$stmt->execute();

I think you need to eliminate the quote marks in the statement:我认为您需要删除语句中的引号:

$sql = "INSERT INTO benutzer SET vorname=?, nachname=?, username=?, email=?, passwort=?;";

You don't need the quotes around the ?您不需要 ? 周围的引号? in the SQL statement.在 SQL 语句中。

Also, your SQL statement is incorrect. 此外,您的 SQL 语句不正确。 SET is only used with UPDATE , INSERT uses VALUES . SET仅用于 UPDATEINSERT使用 VALUES

 $sql = "INSERT INTO benutzer(vorname,nachname,username,email,passwort) VALUES (?,?,?,?,?)";

$sql = "INSERT INTO benutzer SET vorname=?, nachname=?, username=?, email=?, passwort=?";
$stmt = $db->prepare($sql);
$stmt->bind_param("sssss", $vorname, $nachname, $username, $email, $passwort);
$stmt->execute();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM