Php 一次插入多个数据
虽然这里有一些相同的问题,但我还是想发布我自己的问题,因为我认为我已经找到了解决方案,但它不起作用。以下是代码:Php 一次插入多个数据,php,mysql,phpmyadmin,multiple-insert,Php,Mysql,Phpmyadmin,Multiple Insert,虽然这里有一些相同的问题,但我还是想发布我自己的问题,因为我认为我已经找到了解决方案,但它不起作用。以下是代码: $i=1; while ( $i<= 10) { $i++; $sql = "INSERT INTO job (Category, Title, Type) VALUES ('$_POST[cat]','$_POST[title]','$_POST[type]')"; } $i=1; 虽然($i您不需要在此代码中插入任何内容,只需为字符串$sql指
$i=1;
while ( $i<= 10)
{
$i++;
$sql = "INSERT INTO job (Category, Title, Type) VALUES ('$_POST[cat]','$_POST[title]','$_POST[type]')";
}
$i=1;
虽然($i您不需要在此代码中插入任何内容,只需为字符串$sql
指定一个值(并覆盖它10次)。我猜您在while循环之后执行查询。也许您只调用了一次mysqli\u query($conn,$query)
,
将其放入循环中。$mysqli=newmysqli(“主机”、“用户”、“通行证”、“数据库名称”);
$mysqli = new MySQLi("host","user","pass","db_name");
for($i = 0; $i < 10; $i++)
{
$sql = "INSERT INTO job (Category, Title, Type)
VALUES ('" . $mysqli->real_escape_string($_POST['cat']) . "','" . $mysqli->real_escape_string($_POST['title']) . "','" . $mysqli->real_escape_string($_POST['type']) . "')";
$mysqli->query($sql);
}
对于($i=0;$i<10;$i++)
{
$sql=“插入作业(类别、标题、类型)
值(“$mysqli->real_-escape_字符串($_-POST['cat'])。”,“$mysqli->real_-escape_字符串($_-POST['title'])。”,“$mysqli->real_-escape_字符串($_-POST['type'])。”);
$mysqli->query($sql);
}
$i=1;
$addCount=0;
而($i这是我插入多个结果的方式
$sql = "INSERT INTO job(category,title,type) VALUES";
for($i=0;$i<sizeof($category);$i++)
{
if($i= sizeof($category) - 1)
$sql. = "(".$category[$i].",".$title[$i].",".$type[$i].");";
else
$sql. = "(".$category[$i].",".$title[$i].",".$type[$i]."),";
}
$mysqli->query($sql);
$sql=“插入作业(类别、标题、类型)值”;
对于($i=0;$iquery($sql);
将$category、$title、$type
视为要在单个查询中插入的数组。您可以这样做,而不是运行10个查询
您可以通过单个查询来完成
$i=1;
while ( $i<= 10)
{
$i++;
$values[] = "('$_POST[cat]','$_POST[title]','$_POST[type]')";
}
$new_values = implode(',',$values);
$sql = "INSERT INTO job (Category, Title, Type) VALUES $new_values";
$i=1;
而($i可以看到每次迭代都在构造完全相同的sql字符串。
您的代码应该是:
$i=1;
while($i你可以像下面这样做
$i=1;
while ( $i<= 10) {
mysql_query("INSERT INTO job (Category, Title, Type) VALUES('".$_POST[cat]."','".$_POST[title]."','".$_POST[type]."')");
$i++;
}
$i=1;
当($I)插入相同的内容10次时,可能是一个唯一的列。检查您的SQL错误。是的,我想。@raheelshanecho$SQL;
然后在phpmyadmin中多次复制它,查看您得到了什么错误是的,我有一个名为ID的自动递增主列。但这怎么可能是问题?没有显示SQL错误。@WayneWhitty
$i=1;
while ( $i<= 10) {
mysql_query("INSERT INTO job (Category, Title, Type) VALUES('".$_POST[cat]."','".$_POST[title]."','".$_POST[type]."')");
$i++;
}