在PHP中一次运行多个SQL语句?

时间:2012-03-27 18:42:05

标签: php mysql

我目前有这个:

<?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;
   }
?>

我有一个未知数量的查询要从中运行,这意味着连续多个查询。我如何一个接一个地运行它们?

3 个答案:

答案 0 :(得分:1)

使用 PDO Prepared Statements Transactions

答案 1 :(得分:0)

mysql_query每个调用只允许一个查询,即使你使用';' 所以你必须做几个mysql_query调用,每个调用一个你想要运行的查询。

答案 2 :(得分:0)

一个非常好的事情是:在文件中获取所有sql查询..并通过直接在终端调用execute()来执行..对于处理sql注入,您可以使用自己的方法准备一个简单的查询方式并将其保存到您传递给mysql direclty的另一个sql文件..它应该像..

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

这里$ YourQUery将是您生成的完整证明查询...希望它有帮助......