0

使用netnuts 建议的使用数据对象进行数据库访问的指南,特别是与未命名占位符相关的指南

# the data we want to insert
$data = array('Cathy', '9 Dark and Twisty Road', 'Cardiff');
$STH = $DBH->("INSERT INTO folks (name, addr, city) values (?, ?, ?);
$STH->execute($data);

不幸的是,似乎对代码产生了解析错误

# the data we want to insert
$data = array($first_name, $second_name, $email_from, $telephone, $dateofbirth, $addresslone, $addressltwo, $townnm, $countynm, $typeapp, $issubscribed);
$STH = $DBH->("INSERT INTO members (fname, sname, email, phone, dob, addressl1, addressl2, town, county, type, subscribed) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$STH->execute($data);

解析错误:语法错误,意外的 '(',在第 82 行的 /HTMLADDRESS.php 中需要 T_STRING 或 T_VARIABLE 或 '{' 或 '$'

第 82 行特别是以将变量 $DBH 分配给 $STH 开始的行

我还执行了这段代码,数据数组中的所有变量都用引号括起来,结果相同。

4

1 回答 1

2

什么

解析错误:语法错误,意外的 '(',在第 82 行的 /HTMLADDRESS.php 中需要 T_STRING 或 T_VARIABLE 或 '{' 或 '$'

告诉你的是,在->它不期望 a之后(,这是正确的,因为应该有一个方法调用。

它应该是

# the data we want to insert
$data = array($first_name, $second_name, $email_from, $telephone, $dateofbirth, $addresslone, $addressltwo, $townnm, $countynm, $typeapp, $issubscribed);
$STH = $DBH->prepare("INSERT INTO members (fname, sname, email, phone, dob, addressl1, addressl2, town, county, type, subscribed) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$STH->execute($data);

它是 netnuts 代码中的一个错误。

于 2012-11-02T20:24:40.167 回答