1

根据我发现和看到的一切,这似乎是正确的。当我打印 $query 时,结果如下:

“插入客户(名字,MiddleInit,姓氏,地址,城市,州,邮编,电子邮件,性别)值(?,?,?,?,?,?,?,?,?)“

参数应该已经用 bindValues() 中的变量填充。所以,例如...

插入客户(名字、MiddleInit、姓氏、地址、城市、州、邮编、电子邮件、性别)值(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 回答