我想在我的SQL数据库中插入数据:
try {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO animals (size) values(?) WHERE id = '$name'";
$q = $pdo->prepare($sql);
foreach($animalarray as $row) {
if (array_key_exists('size',$row)){
$q->execute(array($row['size']));
}
}
}
catch (PDOException $pe) {
echo $pe->getMessage();
}
catch (Exception $e ) {
echo $e->getMessage();
}
Database::disconnect();
但是我收到错误消息: SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与您的MySQL服务器版本相对应的手册,以便使用“' WHERE id =' horse''''''''''在第1行
我根据G_hi3的答案更新了我的代码。现在它有效。我的错误是我尝试使用INSERT而不是UPDATE:
try {
$pdo = Database::connect();
$update_animal = "UPDATE animals SET size='$size' WHERE id = '$name'";
$sql = $pdo->prepare($update_animal);
$sql->execute();
}
catch (PDOException $pe) {
echo $pe->getMessage();
}
catch (Exception $e ) {
echo $e->getMessage();
}
Database::disconnect();
答案 0 :(得分:1)
您使用UPDATE
语句,例如:
UPDATE myTable SET nameColumn = 'Forrest Gump' WHERE idColumn = 15;
您可以使用一个语句设置多个列,并使用WHERE
子句,就像使用常规SELECT
语句一样。