2016-07-11 11 views
1

次のコードは$ stmt-> execute();で例外を生成しています。メッセージ:SQLSTATE [HY093]:無効なパラメータ番号:パラメータが定義されていません

これは新しい問題です。私はこのエラーが発生した他のリストを参照しており、ここで確認された問題はクリアされています。これはスリムで報告される新しい問題ですか?他に何ができるのか?多くのおかげで、これは2日間の問題であることが判明しました。私はコード・ブラインド・アトムです。 $stmt->bindParam(':adType:', $adType);


$gender    = $_POST['gender']; 
$firstName   = $_POST['firstName']; 
$lastName   = $_POST['lastName']; 
$age    = $_POST['age']; 
$phone    = $_POST['phone']; 
$contactPreference = $_POST['contactPreference']; 
$city    = $_POST['city']; 
$state    = $_POST['state']; 
$country   = $_POST['country']; 
$zip    = $_POST['zip']; 
$adType    = $_POST['adType']; 
$activity   = $_POST['activity']; 
$whenDate   = $_POST['whenDate']; 
$providerGender  = $_POST['providerGender']; 
$providerAge  = $_POST['providerAge']; 
$providerOffer  = $_POST['providerOffer']; 

$db = new PDO("mysql:host=$server;dbname=$dbname;charset=utf8", $username, $password); 
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$stmt = $db->prepare(
    'INSERT INTO customers (
        gender, 
        firstName, 
        lastName, 
        age, 
        phone, 
        contactPreference, 
        city, 
        state, 
        country, 
        zip, 
        adType, 
        activity, 
        whenDate, 
        providerGender, 
        providerAge, 
        providerOffer 
        ) 
       VALUES (
        :gender, 
        :firstName, 
        :lastName, 
        :age, 
        :phone, 
        :contactPreference, 
        :city, 
        :state, 
        :country, 
        :zip, 
        :adType, 
        :activity, 
        :whenDate, 
        :providerGender, 
        :providerAge, 
        :providerOffer 
        );' 
); 

$stmt->bindParam(':gender', $gender); 
$stmt->bindParam(':firstName', $firstName); 
$stmt->bindParam(':lastName', $lastName); 
$stmt->bindParam(':age', $age); 
$stmt->bindParam(':phone', $phone); 
$stmt->bindParam(':contactPreference', $contactPreference); 
$stmt->bindParam(':city', $city); 
$stmt->bindParam(':state', $state); 
$stmt->bindParam(':country', $country); 
$stmt->bindParam(':zip', $zip); 
$stmt->bindParam(':adType:', $adType); 
$stmt->bindParam(':activity', $activity); 
$stmt->bindParam(':whenDate', $whenDate); 
$stmt->bindParam(':providerGender', $providerGender); 
$stmt->bindParam(':providerAge', $providerAge); 
$stmt->bindParam(':providerOffer', $providerOffer); 

$stmt->execute(); 
+0

この、$ sth-> bindParam( ':firstNameの'、$ firstNameという、PDO :: PARAM_STR)を試すだろう。 http://php.net/manual/en/pdostatement.bindparam.php – Dave

答えて

0

エキストラ:それは

$stmt->bindParam(':adType', $adType); 
+1

ありがとうございました。 –

+0

ORM ;-)を使用して調べる良い理由 – alexw

関連する問題