请帮帮我。我实际上并不使用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个类型为string
、integer
、string
和string
的params
,这是错误的,因为您只有全部为字符串的three parameters
。
所以声明应该是这样的:
mysqli_stmt_bind_param($statement, "sss", $name, $username, $password);