php - 发生错误 SQLSTATE[HY093] : Invalid parameter number: parameter was not defined

标签 php mysql pdo

以下代码失败并出现错误 “发生错误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)

关于php - 发生错误 SQLSTATE[HY093] : Invalid parameter number: parameter was not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38548876/

相关文章:

php - 如何在file_get_contents() 之后获取imagesize()?

php - 使用 MySQL 和/或 PHP 的数学运算

php - MySQL 文本数据被某些符号截断

javascript - 将多个选择发送到服务器

php pdo 代码附加 no 和日期

php - Jquery Countdown Timer 在页面刷新时没有重置?

php - 虽然循环似乎无穷无尽

mysql - 为用户单独的数据库表?

php - PHP 计算中的值四舍五入到最接近的 1

php - 在 PDO 准备好的语句中验证 password_hash()