我遇到麻烦,在SQL中通过PHP脚本插入相同的值N次。 我有这个vslue?
Table Info column (ID,Name, LastName,)
Valus ('',Alain,Alian);
我想要做的是将此值插入到同一个表中10次使用While循环播放E.G 或类似的东西 任何想法?。
<?php
$i=1;
While ($i<= 5)
{
$sql="INSERT INTO arivage
(ID_Ship,Date_ariv,Date_achat,prov_id,Sph,cyl,Prod_type,Pord_color)
VALUES
('','$date','$date1','$prov_id','$sph','$cyl','$Prod_type','$Pord_color')";
$i++;
}
?>
答案 0 :(得分:3)
你有错误吗?
你需要什么是可行的
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
for($i = 0; $i<10; $i++) {
$sql="INSERT INTO arivage (ID_Ship,Date_ariv,Date_achat,prov_id,Sph,cyl,Prod_type,Pord_color) VALUES ('','$date','$date1','$prov_id','$sph','$cyl','$Prod_type','$Pord_color')";
$result = mysql_query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
}
答案 1 :(得分:1)
我假设你有一个与数据库的连接(通过使用mysql_connect()+ mysql_select_db()),并在编写它之后执行你的查询(通过mysql_query($ sql))。
我需要知道列 ID_Ship 的数据类型是什么?这是 PRIMARY KEY 和 auto_increment 吗?如果是,那么您需要更改您的查询:
INSERT INTO arivage (ID_Ship,Date_ariv,Date_achat,prov_id,Sph,cyl,Prod_type,Pord_color)
VALUES ('','$date','$date1','$prov_id','$sph','$cyl','$Prod_type','$Pord_color')
为:
INSERT INTO arivage (Date_ariv,Date_achat,prov_id,Sph,cyl,Prod_type,Pord_color)
VALUES ('$date','$date1','$prov_id','$sph','$cyl','$Prod_type','$Pord_color');
注意:ID_ship已删除,''也已删除。
此删除是为了防止为第2个,第3个等记录插入相同的主键。请记住,主键必须是唯一的。不指定它会让MySQL插入生成的值(因为它是auto_increment)。
答案 2 :(得分:0)
试试这个..这可能有效
$sql= "INSERT INTO TABLE_NAME(field1,field2) VALUES( ";
for($i=0;$i<10;$i++)
{
$sql.="('value1', 'value2'), "
}
$sql.=" )";
答案 3 :(得分:0)
你应该添加
mysql_query($sql);
代码,以便在循环之间执行查询。
$i=1;
While ($i<= 5)
{
$sql="INSERT INTO arivage
(ID_Ship,Date_ariv,Date_achat,prov_id,Sph,cyl,Prod_type,Pord_color)
VALUES('','$date','$date1','$prov_id','$sph','$cyl','$Prod_type','$Pord_color')";
mysql_query($sql);
$i++;
}
答案 4 :(得分:0)
如果您需要绑定参数,这是另一种方法。
public function insert($rows)
{
$setValues = null;
foreach($rows as $column => $value)
{
$setValues .= "{$column}=:{$column},";
}
$setValues = rtrim($setValues, ',');
$query = "INSERT INTO {$this->_table} SET {$setValues}";
$stmt = $this->_conn->prepare($query);
foreach($rows as $col => $val)
{
$stmt->bindParam(":{$col}", $val);
}
$stmt->execute();
}