0

読む前に: テーブルが奇妙で長すぎるため、正規化する必要があることはわかっています。しかし、何らかの理由でこれは私のデータベースであり、このテーブルで作業する必要があります! ごめんなさい!手短に言うと、次の例外が発生します。

C:\xampp\htdocs\FD\includes\helper.php:472 のメッセージ「SQLSTATE [HY093]: 無効なパラメーター番号: バインドされた変数の数がトークンの数と一致しない」という例外「PDOException」:

0 C:\xampp\htdocs\FD\includes\helper.php(472): PDOStatement->execute(配列) #1

C:\xampp\htdocs\FD\newHrForm.php(113): helperFunctions::UpdateTableHrForms('112', 'dfsfdsfds', '3123213', 'dfdsf', '', '', '', '', ' ', '', '', '', '', '', '', '3213123213', '1', '3213123', '213123213', '3213213', '213123123', ) #2 {メイン}

データを保存する私の機能は次のとおりです。

public static function UpdateTableHrForms(
        $id,$dob_city,$dob_province,$dob_country,...) 
            {

                $conn = new mysqlcon();
                $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

                $query = "INSERT into `hr_forms` (`id`,`dob_city`,
                    `dob_province`,`dob_country`,...)
                    VALUES (:id,:dob_city,:dob_province,:dob_country,...)";




                try {
                    if (helperFunctions::CheckidExistForms($id) == 0) {
                        $result = $conn->prepare($query);                               
                        $result->execute(array('id'=>$id,'dob_city'=>$dob_city,'dob_province'=>$dob_province,'dob_country'=>$dob_country));



                        $Msg = "<div style=\"text-align:center;\" class=\"alert alert-success\">
                                    <strong>Tips! </strong>
                                        Data is successfully saved to database.
                                    <button class=\"close\" data-dismiss=\"alert\" type=\"button\">&times;</button>
                                </div>";
                    } else {
                        $Msg = "<div style=\"text-align:center;\" class=\"alert alert-error\">
                                    <strong>Error! </strong>
                                        This employee information is already existed in the system.
                                    <button class=\"close\" data-dismiss=\"alert\" type=\"button\">&times;</button>
                                </div>";
                    }
                } catch (Exception $e) {
                    $e->getMessage();
                    $Msg = $e; /* "<div style=\"text-align:center;\" class=\"alert alert-error\">
                      <strong>Error! </strong>
                      This employee information cannot save in the system.
                      <button class=\"close\" data-dismiss=\"alert\" type=\"button\">&times;</button>
                      </div>"; */
                }
                return $Msg;
}

挿入メソッドの値を (UpdateTableHrForms でエラーが表示される値に置き換えて mysql で実行すると、エラーは発生しませんが、PHP ではエラーが発生します。何か問題でも?)

4

1 に答える 1