只是更新我的mysql连接等等以使用这个mysqli实现。 我正在尝试运行以下代码......
与数据库的连接很好并且有效,当我替换?对于真正的价值观,它有效有人可以帮我解决下面的错误吗?
感谢。
代码:
$sql = "INSERT INTO customers (cap_login, cap_pword, title, firstname, lastname, email)
VALUES (?,?,?,?,?,?)";
echo $sql;
$stmt = $db->prepare($sql);
$stmt->bind_param($username, $pass_hash, $title, $firstname, $lastname, $email);
$stmt->execute();
$stmt->close();
错误:
Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement in....
我回应了sql的判断并得到了这个:
INSERT INTO customers (cap_login, cap_pword, title, firstname, lastname, email) VALUES (?,?,?,?,?,?)
答案 0 :(得分:2)
mysqli_stmt的语法:
mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )
你错过了指定变量的类型
尝试
$stmt->bind_param("ssssss",$username, $pass_hash, $title, $firstname, $lastname, $email);
答案 1 :(得分:1)
在使用函数之前,必须阅读the manual page for the right syntax,即
bind_param ( string $types , mixed &$var1 [, mixed &$... ] )
^^^^^^
因此,第一个参数必须是'sssssss'