发生错误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>"; 
      } 
+0

join_date列'date'类型或'日期时间'? –

+0

Join_date是'时间戳' – mpkumar

+0

'$ time = time();'而不是'now()'使用':time'然后在数组''中:time'=> $ time'确实喜欢并且检查一次 –

而不是把一个关联数组在执行功能,你需要调用bindParam或bindValue功能,像这样:

$statement->bindValue(':key', $value)