0

对于我的生活,我似乎无法让这个简单的插入查询工作:

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();
}

数据没有被插入到表中,我没有收到任何错误消息。我在这里错过了什么吗?

4

2 回答 2

3

当您执行这些 PDO 方法时,您应该检查它们是否没有返回false,如果是,则处理,以了解您的代码是否以及在哪里失败。

此外,您似乎正在将字符串值'null'插入到您的idupdated字段中。这可能会导致问题(请参阅手册页)。并确保您没有插入的任何字段都可以null

于 2012-05-17T00:20:35.407 回答
0
':id'      => 'null',

如果您的表将其作为主键并自动递增,则可能无法正常工作

于 2012-06-13T21:15:55.093 回答