我不仅仅是使用PHP编程,而是根本不是编程。目前我正在做我的一个siple项目以改善自己。我做了onec但是现在我想让我的所有查询都使用准备好的语句,这对我来说是新的......
$create_stmt = mysqli_prepare($connection, "INSERT INTO `users`(`user_name`, `password`) VALUES (?,?)");
if(!$create_stmt){
echo 'error';
exit;
}
mysqli_stmt_bind_param($create_stmt, 'ss',$username,$password);
mysqli_stmt_execute($create_stmt);
mysqli_stmt_bind_result($create_stmt, $new_uname, $new_unamepass);
mysqli_stmt_fetch($create_stmt);
所以这是交易。我有这样的错误:
警告:mysqli_stmt_bind_result():绑定变量的数量与预准备语句中的字段数不匹配。
因为我想向我的用户添加2个值' table我宣布了2个新变量$new_uname
,$new_unamepass
,但不知道这是不正确的......
同样mysqli_stmt_fetch($create_stmt);
不是正确但是如果一切正常(显然它不行......)所以,如果有人可以帮助我或给我一些建议,那就太棒了!
答案 0 :(得分:1)
尝试这个:
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$stmt = $mysqli->prepare("INSERT INTO `users`(`user_name`, `password`) VALUES (?,?)");
$stmt->bind_param('ss', $user, $pass);
$user='username';
$pass = 'Password1234';
/* execute prepared statement */
$stmt->execute();
printf("%d Row inserted.\n", $stmt->affected_rows);
/* close statement and connection */
$stmt->close();