嘿所有人。我正在编写一个包含一系列名称的脚本,每个名称都将添加到MySQL数据库中的新行中,同时添加了其他列。我试图用PDO实现的声明类似于以下代码:
$sql = 'INSERT INTO table
(name, car, gender)
VALUES
("Name", "Car", "Gender"),
("Name2", "Car2", "Gender2"),
("Name3", "Car3", "Gender3"),
("Name4", "Car4", "Gender4"),
("Name5", "Car5", "Gender5")';
有没有办法通过PDO声明实现这一目标?我想我可以像下面这样做,但我不认为这是实现这一目标的最有效方法。
$namesarray = array("Name1", "Name2", "Name3", "Name4", "Name5");
foreach($namesarray as $name)
{
try
{
$conn = parent::connect();
$st = $conn->prepare($sql);
$st->bindValue(":name", $this->data['name'], PDO::PARAM_STR);
$st->bindValue(":car", $this->data['car'], PDO::PARAM_STR);
$st->bindValue(":gender", $this->data['gender'], PDO::PARAM_STR);
$st->execute();
parent::disconnect($conn);
return true;
}
catch (PDOException $e)
{
parent::disconnect($conn);
die("Query failed: " . $e->getMessage());
}
}