我正在尝试将数据保存在xml中的节点中,该文档被加载到带有SimpleXML的应用程序中。下面是我的代码,但是SQL语句有问题,因为我得到了一个致命的错误。
我无法理解为什么会抛出它,因为id (在下面的错误消息中引用)被用作要输入的值,而不是作为列。
我在这里做错什么了?谢谢!
php:
$db;
$theProducers = simplexml_load_file('sources/producers.xml');
foreach ($theProducers->producer as $producer) {
$attr = $producer->attributes();
$producers[$i]['id'] = (int)$attr[0];
$producers[$i]['name'] = (string)$producer->name;
$producers[$i]['address'] = (string)$producer->address;
$producers[$i]['zipcode'] = (string)$producer->zipcode;
$producers[$i]['town'] = (string)$producer->town;
$producers[$i]['url'] = (string)$producer->url;
$producers[$i]['imgurl'] = (string)$producer->imgurl;
$i += 1;
}
try {
$db = new PDO('sqlite:ProducersDB.sqlite');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
die("Something went wrong: " . $e->getMessage());
}
for($i = 0; $i < count($producers); $i++) {
$sql = "INSERT INTO producers (producerid, name, address, zipcode, town, url, imgurl)
VALUES($producers[$i]['id'], $producers[$i]['name'], $producers[$i]['address'], $producers[$i]['zipcode'], $producers[$i]['town'], $producers[$i]['url'], $producers[$i]['imgurl']); ";
if(!$db->query($sql)) {
die("Couln't execute query!");
}
}错误消息:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]:
General error: 1 no such column: 'id'' in
/Applications/XAMPP/xamppfiles/htdocs/app/index.php:55 Stack trace: #0
/Applications/XAMPP/xamppfiles/htdocs/app/Labb2/index.php(55):
PDO->query('INSERT INTO pro...') #1 {main} thrown in
/Applications/XAMPP/xamppfiles/htdocs/app/index.php on line 55db结构:
Table: Producers
id INTEGER PRIMARY KEY,
producerid INT,
name TEXT,
address TEXT,
zipcode INT,
town TEXT,
url TEXT,
imgurl TEXT发布于 2012-12-02 21:42:11
https://stackoverflow.com/questions/13672716
复制相似问题