1

私が見つけて見たすべてによると、これは正しいようです。$query を出力すると、結果は次のようになります。

"INSERT INTO customers (FirstName, MiddleInit, LastName, Address, City, State, Zip, Email, Gender) VALUES (?,?,?,?,?,?,?,?,?)"

パラメーターは、bindValues() の変数で入力されている必要があります。だから、例えば...

INSERT INTO customers (FirstName、MiddleInit、LastName、Address、City、State、Zip、Email、Gender) VALUES (Bill、A、Hopkins、123 Ave、....)

この方法に固執したいと思います - それは try/catch ブロックで囲まれています。クエリ変数を出力すると、そこに問題があることがわかります。

私は何が欠けていますか?ご覧いただきありがとうございます!

$query = 'INSERT INTO customers (FirstName, MiddleInit, LastName, Address, City, State, Zip, Email, Gender) VALUES (?,?,?,?,?,?,?,?,?)';
        echo $query;
        $statement = $db->prepare($query);
        $statement->bindValue(1, $firstName);
        $statement->bindValue(2, $middle);
        $statement->bindValue(3, $lastName);
        $statement->bindValue(4, $address);
        $statement->bindValue(5, $city);
        $statement->bindValue(6, $state);
        $statement->bindValue(7, $zip);
        $statement->bindValue(8, $email);
        $statement->bindValue(9, $gender);
        $success = ($statement->execute());
4

1 に答える 1

0

エラーを考慮してさらにコードが必要ですが、準備済みステートメントでこれを試すことができます。

$query = 'INSERT INTO customers (FirstName, MiddleInit, LastName, Address, City, State, Zip, Email, Gender) VALUES (:firstName, :middle, :lastName, :address, :city, :state, :zip, :email, :gender)';
$statement = $db->prepare($sql);
$statement->execute(array(':firstName'=>$firstName, ':middle'=>$middle, ':lastName'=>$lastName, ':address'=>$address, ':city'=>$city, ':state'=>$state, ':zip'=>$zip, ':email'=>$email, ':gender'=>$gender));
于 2015-10-28T23:22:54.793 に答える