首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将php数组数据插入mysql不起作用

问将php数组数据插入mysql不起作用
EN

Stack Overflow用户
提问于 2009-10-18 19:44:32
回答 4查看 574关注 0票数 0

您好,我有一个数组$name[],我试图将它插入到我的表的第二个字段中,但它不起作用(表仍然是完全空白的)。我在代码中找不到错误,我做错了什么?

代码语言:javascript
复制
$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();

有什么想法吗?谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-10-19 03:47:19

您使用常量i而不是$i作为$name的键。所以试试这个:

代码语言:javascript
复制
"INSERT INTO table VALUES ('','".$name[$i]."','','')"

还应使用mysql_real_escape_string对MySQL查询的值进行转义

代码语言:javascript
复制
"INSERT INTO table VALUES ('','".mysql_real_escape_string($name[$i])."','','')"
票数 5
EN

Stack Overflow用户

发布于 2009-10-18 19:49:09

首先,所要做的就是将一个包含第1、3和4列的条目置空,并将第2列的值设置为$name[i]。要在字符串中包含变量,需要将其放在双引号中。但我看不出这样做的意义,因为你可以只有变量。

另外,$name[i]应该是$name[$i]。

票数 2
EN

Stack Overflow用户

发布于 2009-10-18 19:50:50

当你连接这样的查询时,一定要转义。

$query =“插入到表中的值('','”.mysql_real_escape_string($name$i)。"','','')";

如果你不这样做,你可能很容易受到SQL injection坏处的影响

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1585835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档