对于我的生活,我似乎无法使用这个简单的插入查询:
try {
// Connect to database
$dbh = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
// Create an array of all data to be inserted
$data = array(':id' => 'null',
':name' => $name,
':location' => $loc,
':latitude' => $lat,
':longitude' => $lon,
':website' => $web,
':bandcamp' => $bandcamp,
':facebook' => $facebook,
':bio' => $bio,
':image' => $image,
':updated' => 'null');
// Create sql statement
$sql = 'INSERT INTO artists VALUES (:id, :name, :location, :latitude, :longitude, :website, :bandcamp, :facebook, :bio, :image, :updated)';
// Run query
$query = $dbh->prepare($sql);
$query->execute($data);
// Disconnect from database
$dbh = null;
}
catch(PDOException $e) {
echo $e->getMessage();
}
数据未插入表中,我没有收到任何错误消息。我在这里错过了什么吗?
答案 0 :(得分:3)
当您执行这些PDO方法时,您应该检查它们是否没有返回false
,如果是,则处理,以了解代码是否失败以及失败的位置。
此外,您似乎将字符串值'null'
插入id
和updated
字段。这可能会导致问题(请参阅manual page)。并确保您不插入的任何字段都可以null
。
答案 1 :(得分:0)
':id' => 'null',
如果您的表具有主键和自动增量,则可能不起作用