类型定义字符串中的元素数与第 8 行的 /home/a3598479/public_html/Register 中的绑定变量数不匹配.php



请帮帮我。我实际上并不使用PHP,但我需要在登录/注册项目中使用。

$con = mysqli_connect("***", "***", "***", "***");
$name = $_POST["name"];
$username = $_POST["username"];
$password = $_POST["password"];
$statement = mysqli_prepare($con, "INSERT INTO user (name, username, password) VALUES (?, ?, ?)");
mysqli_stmt_bind_param($statement, "siss", $name, $username, $password);
mysqli_stmt_execute($statement);
$response = array();
$response["success"] = true;  
echo json_encode($response);

但上面写着

Warning: mysqli_stmt_bind_param() [function.mysqli-stmt-bind-param]: Number of elements in type definition string doesn't match number of bind variables in /home/a3598479/public_html/Register.php on line 8

我该怎么解决这个问题?

我认为以下语句中存在问题:

mysqli_stmt_bind_param($statement, "siss", $name, $username, $password);

您正在传递siss,这意味着应该有4个类型为stringintegerstringstringparams,这是错误的,因为您只有全部为字符串的three parameters

所以声明应该是这样的:

 mysqli_stmt_bind_param($statement, "sss", $name, $username, $password);

最新更新