読む前に: テーブルが奇妙で長すぎるため、正規化する必要があることはわかっています。しかし、何らかの理由でこれは私のデータベースであり、このテーブルで作業する必要があります! ごめんなさい!手短に言うと、次の例外が発生します。
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\">×</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\">×</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\">×</button>
</div>"; */
}
return $Msg;
}
挿入メソッドの値を (UpdateTableHrForms でエラーが表示される値に置き換えて mysql で実行すると、エラーは発生しませんが、PHP ではエラーが発生します。何か問題でも?)