php循环并插入
Posted
技术标签:
【中文标题】php循环并插入【英文标题】:php Loop and insert into 【发布时间】:2013-07-22 06:25:16 【问题描述】:我正在使用带有 mysql 的 php 表单。 我有一个循环,我想将数据库中的数据取决于列。 例如对于data1->插入column1,data2->column2
在 i= 1 到 5 的循环中我试试这个
mysql_query("INSERT INTO day(numb, g['$i']) VALUES('$num', '$tout' ) ") or die(mysql_error());
但它不起作用。您还有其他解决方案吗?
谢谢
【问题讨论】:
错误说明了什么? 你能显示你的循环代码吗? 不要使用mysql_*!并构造您的查询,而不是循环并首先与服务器建立许多连接,其次是给出什么错误 您正在尝试将两个值插入到单个表达式的结果中......您想要完成什么,我们可以帮助您 首先把 g['$i'] 改成 g[$i] 现在解释清楚你想要什么 【参考方案1】:正如其他人建议使用mysqli,我也会。 您的查询如下所示:
mysqli_query($con,"INSERT INTO day (numb, $g[$i]) VALUES('".$num."', '".$tout."' )") or die(mysql_error());
提醒一下$con
是用来连接DB的变量
mysqli_connect(host,username,password,dbname);
【讨论】:
谢谢,可以在同一行插入吗?现在它可以工作,但总是创建不同的行。 你只想用一行来存储? 是一行但不同的列,列会随着循环的索引而变化。 插入一行后,再次添加肯定会产生一个新行。每次都必须创建一个新列才能在一行中插入值,但要以列方式插入。 您必须使用ALTER
命令在循环中添加新列。 ALTER TABLE day ADD column-name VARCHAR( 255 ) after previous-column-name
然后将值添加到此列。你明白了吗?【参考方案2】:
使用这个:按下$g
是一个变量
mysql_query("INSERT INTO day(`numb`, `".$g['$i']."`) VALUES('".$num."', '".$tout."' ) ") or die(mysql_error());
【讨论】:
【参考方案3】:从$i
周围删除'
mysql_query("INSERT INTO day (numb, $g[$i]) VALUES('$num', '$tout')") or die(mysql_error());
MySQLINSERT INTO
语法如下——INSERT INTO table_name (column1, column2, ..) VALUES (column1value, column2value, ..)
或者INSERT INTO table_name VALUES (column1value, column2value, ...)
,当您知道所有行名并插入它们的值时。
第一种方法允许您插入选定的行,而第二种方法要求您插入所有行值。
数组$g[]
前面没有美元符号。此外,在使用索引时,您不必使用引号。
还请注意,mysql_*
扩展名已弃用且不安全,请查看 mysqli 或 pdo
【讨论】:
你的意思是column1, colum2
而不是row1, row2
【参考方案4】:
你也可以使用下面的代码
mysql_query("INSERT INTO day (numb, $g[$i]) VALUES('$num', '$tout')") or die(mysql_error());
【讨论】:
以上是关于php循环并插入的主要内容,如果未能解决你的问题,请参考以下文章
通过 for 循环和 php 数组进行多次插入(通过 jQuery AJAX 接收)