使用php从for循环创建变量并将其插入mysql

使用php从for循环创建变量并将其插入mysql,php,mysql,sql,Php,Mysql,Sql,我想创建一个可以插入sql查询的数组或变量,而不是像下面的代码那样手动执行 使用简单的php,而不是使用PDO,这是可能的,只是解决这个问题的某种技巧 您可以看到,我手动插入了10列和10个值,我可以做得更短吗? 所以,我想要一个变量/数组,它将由pt1-pt10组成,另一个由[1]-a[10]组成 for($j=1;$j<11;$j++) { $a[$j] = ""; } <?php $host = 'localhost'; $user = 'root'; $pass =

我想创建一个可以插入sql查询的数组或变量,而不是像下面的代码那样手动执行

使用简单的php,而不是使用PDO,这是可能的,只是解决这个问题的某种技巧

您可以看到,我手动插入了10列和10个值,我可以做得更短吗? 所以,我想要一个变量/数组,它将由pt1-pt10组成,另一个由[1]-a[10]组成

for($j=1;$j<11;$j++) {
    $a[$j] = "";
}

<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db   = 'my_db';
$table = 'jos_answers';

$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
mysql_select_db($db) or die("Can not connect.");

$result = mysql_query("INSERT into ".$table."(id, title, pt1, pt2, pt3, pt4, pt5, pt6, pt7, pt8, pt9, pt10) VALUES ((select id from jos_content where title='$title'),'$title','$a[1]','$a[2]','$a[3]','$a[4]','$a[5]','$a[6]','$a[7]','$a[8]','$a[9]','$a[10]')");

?>
对于($j=1;$j
对于($j=1;$j请尝试以下操作:

$insert = "INSERT INTO" . $table . "(id, title,";
$value = " VALUES((select id from jos_content where title='$title'),'$title',";
for($x = 1; $x < 11; $x++){
    $insert .= " pt" . $x . ",";
    $value .= " '$a[" . $x . "]'," //this line is iffy....
}
$insert = substr($insert, 0, -1);//to remove last comma
$value = substr($value, 0, -1);//to remove last comma 
$insert .= ")";//final paren
$value .= ")";//final paren
$sql = $insert . $value; //combine parts
$result = mysql_query($sql);
如果您希望“和”值与此匹配:

$values .= " '" . $a[$x] . "',";
这是一个明显经过编辑的代码的工作示例,因为它不在您的SQL环境中,并且您没有为我们提供所有变量值:


祝你好运!

请注意,你可能不想使用“mysql\u query”,它已被弃用。请参见这里:@nKn第一部分只是设置一个key=>value数组。PHP内爆函数将数组键/值与你提供的“glue”粘在一起,在本例中为“,”。我认为这非常清楚。
$values .= " " . $a[$x] . ",";
$values .= " '" . $a[$x] . "',";