0

こんにちは、解決できない大きな問題が発生しました。これは非常に奇妙な問題です:S 次のコードを使用します:

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 変数にクエリをダンプしますが、クエリは実行されず、エコーを作成して失敗したものを確認し、取得しました次:

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

このクエリから配列のエコーを作成すると、問題はありません。それが、私がそれに夢中になっている理由であり、あなたが私を助けてくれることを願っています。

よろしくお願いします!!

4

2 に答える 2

1

連結してみる、

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

補足として、変数のSQL Injection値が外部から取得された場合、クエリは脆弱です。予防方法については、以下の記事をご覧ください。を使用すると、値を一重引用符で囲む必要がなくなります。PreparedStatements

于 2013-02-10T16:11:41.250 に答える
1

文字列で配列アクセサーを使用する場合は、括弧で囲む必要があります。

の代わりに"VALUES ($jugadores[$m][1],..."、 を使用してみてください"VALUES ({$jugadores[$m][1]},..."

于 2013-02-10T16:12:44.477 に答える