错误数组,我无法获取信息 - 在mysql查询中

时间:2013-02-10 16:08:16

标签: php mysql

您好我遇到了一个无法解决的大问题,这是一个非常奇怪的问题:我使用下一个代码:

for( $m = 0; $m < sizeof( $jugadores ) ; $m++ )
{   
            $juga_q = "INSERT INTO jugadores VALUES($jugadores[$m][1],$nom_equipo,'',$jugadores[$m][4]);";
            $result = mysql_query( $juga_q );
            echo $juga_q."<br>";
}

我在数组中获取了我想要插入到我的数据库中的信息,因为我将我的查询转储到我在插入中使用的$ juga_q变量中,但是查询没有执行,我做了一个echo来检查什么失败并得到了下一个:

 INSERT INTO jugadores VALUES(Array[1],Aston Villa,'',Array[4]);

当我从这个查询中回显数组时,我没有遇到任何问题,这就是为什么我对此感到疯狂并希望你能帮助我。

谢谢!!

2 个答案:

答案 0 :(得分:1)

尝试连接它,

$juga_q = "INSERT INTO jugadores VALUES(". $jugadores[$m][1].",$nom_equipo,'',".$jugadores[$m][4].");";

作为旁注,如果变量的值( s )来自外部,则查询易受SQL Injection攻击。请查看下面的文章,了解如何防止它。通过使用PreparedStatements,您可以摆脱在值周围使用单引号。

答案 1 :(得分:1)

在字符串中使用数组访问器时,需要将它们用括号括起来。

而不是"VALUES ($jugadores[$m][1],...",请尝试使用"VALUES ({$jugadores[$m][1]},..."