2013-02-10 58 views
0

你好,我有我想不出解決的一個大麻煩,這是一個很奇怪的問題:就是我用下面的代碼:錯誤陣列,我不能讓出的信息 - 在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變量,我在插入到,但查詢doesnt執行,並作出迴應,以檢查什麼失敗,並得到下一個:

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

當我做出這個查詢數組超出這個查詢我沒有問題,這就是爲什麼im gett爲此瘋狂,希望你能幫助我。

謝謝轉發!

回答

1

嘗試來連接它,

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

一點題外話,查詢很容易受到與SQL Injection如果變量的值(小號)從外面走了進來。請看下面的文章,瞭解如何防止它。通過使用PreparedStatements你可以擺脫使用單引號圍繞值。

1

當使用字符串數組訪問器,你需要用他們的括號內。請使用"VALUES ({$jugadores[$m][1]},..."

+0

感謝所有,特別是helmbert,你的解決方案!非常感謝!!也感謝JW的安全提示 – user1938613 2013-02-10 16:36:40

+0

很高興提供幫助。請隨時標記您認爲最有幫助的答案。 ;) – helmbert 2013-02-10 16:39:13