2012-03-27 10 views
-2

私は現在、この持っている:私は連続して複数のクエリを意味し、これから実行するクエリの未知の量を持っているPHPで複数のSQL文を一度に実行できますか?

<?php 
    $length = count($data['mark']); 
    $i=0; 
    $s=1; 
    for($i=0;$i<$length;$i++){ 
     $sql="UPDATE `groupdatabase1` .`questions` SET `mark`=".$data['mark'][$i].", `feedback`= '".$data['feedback'][$i]."' WHERE `question`= ".$s." ;"; 
     mysql_query($sql); 
     echo $sql; 
    } 
?> 

を。どのように私はそれらを次々と動かすことに行きますか?

+0

まず、SQLインジェクションの脆弱性を修正します。その後、あなたが持っているものは、それらのクエリをすべて実行します。しかし、あなたは何のエラーもチェックしていないので、何千ものクエリが失敗した理由を理解することが不可能になります。 –

+1

あなたのコードは今、ループの中でそれをやっています。あなたはもっと具体的になりますか? – jeremyharris

+0

Googleisyourfriend:http://stackoverflow.com/questions/8198707/running-multiple-php-scripts-at-the-same-time-database-loop-issue(最初のリンクの1つ)同時。そうでなければ私はその質問を理解していない。 –

答えて

1
+3

これはどのように質問に答えますか? – Umbrella

+0

どうしますか?私は、問題を解決するために必要なこと全てを列挙し、関連するドキュメントにページを組み込んだ。もし彼がRTFMできないなら、この質問は本当に解決する価値はない(なぜなら、彼はそれから何も学んでいないだろうから)。 –

0

mysql_queryでは、 ';'を使用しても、1回の呼び出しで1つのクエリしか実行できません。 を実行するためには、実行するクエリごとに1つずつ、いくつかのmysql_query呼び出しを行う必要があります。

0

よくあることは、ファイル内のすべてのSQLクエリを取得し、ターミナルで直接execute()を呼び出して実行することです。SQLインジェクションに対処するには、独自の方法と...それはここで

$output = array(); 
$ret = null; 
echo "Importing Comments"."\n"; 
exec($YourQuery, 
$output, $ret); 
var_dump($output, $ret); 

...のような$ YourQUeryする必要がありますあなたがdireclty MySQLへ渡し、別のSQLファイルに保存するには、あなたが生成する完全な証拠のクエリになります...それが役に立てば幸い...

関連する問題