您好,我有一个数组$name[],我试图将它插入到我的表的第二个字段中,但它不起作用(表仍然是完全空白的)。我在代码中找不到错误,我做错了什么?
$username="us";
$password="pw";
$database="db";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "error");
$i=0;
while ($i < 5) {
$query = "INSERT INTO table VALUES ('','$name[i]','','')";
mysql_query($query);
$i++
}
mysql_close();有什么想法吗?谢谢。
发布于 2009-10-19 03:47:19
您使用常量i而不是$i作为$name的键。所以试试这个:
"INSERT INTO table VALUES ('','".$name[$i]."','','')"还应使用mysql_real_escape_string对MySQL查询的值进行转义
"INSERT INTO table VALUES ('','".mysql_real_escape_string($name[$i])."','','')"发布于 2009-10-18 19:49:09
首先,所要做的就是将一个包含第1、3和4列的条目置空,并将第2列的值设置为$name[i]。要在字符串中包含变量,需要将其放在双引号中。但我看不出这样做的意义,因为你可以只有变量。
另外,$name[i]应该是$name[$i]。
发布于 2009-10-18 19:50:50
当你连接这样的查询时,一定要转义。
$query =“插入到表中的值('','”.mysql_real_escape_string($name$i)。"','','')";
如果你不这样做,你可能很容易受到SQL injection坏处的影响
https://stackoverflow.com/questions/1585835
复制相似问题