我目前有以下代码:
$dbh = new PDO('mysql:host='.DATABASE_HOST.';dbname='.DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->prepare("INSERT INTO mdr_contacts SET fkRelatieId = 0, reseller = 0, code = :code, naam = :naam");
$dbh->execute(array(":code" => $contact["contact_id"],":naam" => $name));
然而,这似乎失败了:Fatal error: Call to undefined method PDO::execute() in file.php on line 67
到目前为止我完成了这项工作:
$name
和$contact
是否存在并且值是否正确。但这一切都不起作用,有人能让我朝着正确的方向前进吗?
答案 0 :(得分:2)
您执行语句,而不是连接。连接上的prepare()
,返回一个语句。
另外,我更喜欢在值上显式调用bind,但这只是我的OCD首选项。
$statement = $dbh->prepare("INSERT INTO mdr_contacts SET fkRelatieId = 0, reseller = 0, code = :code, naam = :naam");
$statement->bindValue(":code", $contact["contact_id"]);
$statement->bindValue(":naam", $name);
$statement->execute();