您好我遇到了一个无法解决的大问题,这是一个非常奇怪的问题:我使用下一个代码:
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]);
当我从这个查询中回显数组时,我没有遇到任何问题,这就是为什么我对此感到疯狂并希望你能帮助我。
谢谢!!
答案 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]},..."
。