我正在尝试用PHP运行以下代码:
$stmt = $db_con->prepare("SELECT * FROM users WHERE email=:email");
$stmt->execute(array(":email"=>$user_email));
$count = $stmt->rowCount();
if($count==0){
$stmt = $db_con->prepare("INSERT INTO users(username,email,password,ip)VALUES(:uname, :email, :password, :ip)");
$stmt->bindParam(":username",$username);
$stmt->bindParam(":email",$useremail);
$stmt->bindParam(":password",$hasheduserpassword);
$stmt->bindParam(":ip",$userip);结果,我得到了以下错误:
SQLSTATE[HY093]: Invalid parameter number: parameter was not defined发布于 2016-07-22 11:31:59
在查询中,您定义了uname,同时设置了一个名为username try的参数
$stmt = $db_con->prepare("INSERT INTO users(username,email,password,ip)VALUES(:username, :email, :password, :ip)");发布于 2016-07-22 11:33:09
你的error在这里
$stmt = $db_con->prepare("INSERT INTO users(username,email,password,ip)VALUES(:uname, :email, :password, :ip)");
// $stmt->bindParam(":username",$username);// this shoud be uname
$stmt->bindParam(":uname",$username);发布于 2016-07-22 12:05:54
错误在这里:
VALUES(:uname,
$stmt->bindParam(":username",$username);
MySql正在查找:username,但找不到,因为您将其命名为:uname。
两者必须匹配。
https://stackoverflow.com/questions/38517641
复制相似问题