发生错误SQLSTATE [HY093]:无效参数编号:参数未定义
问题描述:
以下代码失败,错误为 “发生错误SQLSTATE [HY093]:无效参数编号:参数未定义”。 请帮忙解决这个问题。谢谢发生错误SQLSTATE [HY093]:无效参数编号:参数未定义
$email = $_POST['email'];
$username = $_POST['username'];
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
$mobileno = $_POST['mobileno'];
$organization = $_POST['organization'];
$orgaddress = $_POST['orgaddress'];
try
{
$sqlInsert = "INSERT INTO users (username, password, email, mobileno, organization, orgaddress, join_date)
VALUES (:username, :password, :email, :mobileno, :organization, :orgaddress, now())";
$statement = $db->prepare($sqlInsert);
$statement->execute(array(':username' => $username, ':password' => $password, ':email' => $email, ':mobileno' => $mobileno,
':organization' => $organization, ' :orgaddress' => $orgaddress));
if($statement->rowCount() == 1)
{
$result = "<p style='padding:20px; font-size: 15px; color:green;'>Registration Successful </p>";
}
}
catch (PDOException $ex)
{
$result = "<p style='padding:20px; font-size: 15px; color:red;'>An error occured" . $ex->getMessage() ."</p>";
}
答
而不是把一个关联数组在执行功能,你需要调用bindParam或bindValue功能,像这样:
$statement->bindValue(':key', $value)
join_date列'date'类型或'日期时间'? –
Join_date是'时间戳' – mpkumar
'$ time = time();'而不是'now()'使用':time'然后在数组''中:time'=> $ time'确实喜欢并且检查一次 –