php 读取文件被执行2次

<?php$server='localhost';$username='zenghx';$password='zeng0599';$path='.\update_sql\... <?php
$server = 'localhost';
$username = 'zenghx';
$password = 'zeng0599';
$path = '.\update_sql\\';

$dir = $path;
$i=0;
if(is_dir($dir)){
if($dh=opendir($dir)){
while(false!==( $filename=readdir($dh))){
if($filename!="." && $filename!=".."){
$i++;

$file =$path.$filename;
print "<br>".$file."<br>";
$filesql = file_get_contents($file);

//echo $filesql."<br><br>";
$conn = mysql_connect($server,$username,$password);
$selectdb = mysql_select_db("dbtest",$conn) or die ("无法选择数据库!".mysql_error());
$segment = explode(";",$filesql);

foreach($segment as $current){
$sql = $current;
echo $current;

$revertsql = mysql_query($sql)or die("<br>数据更新失败".mysql_error());
if ($revertsql) {
echo "还原成功<br><br>";
}
}
}
}
}
}

fclose($filename);

?>
有3个SQL文件 SQL1 SQL2 SQL3
结果输出到MYSQL里 SQL1被执行了2次 删除SQL1 SQL2也被执行了2次
如果把mysql_query注释掉 又只执行一次 求解释,或者修改我的代码 谢谢
hzl289894452 谢谢你的回答 你没理解我的意思 我的要求是吧sql1 sql2 sql3 一次按照顺序执行 因为文件里的是字符串形式,自然要放在foreach里面 要遍历出来输出 你说的foreach执行几次 那也应该按照sql1 sql2 sql3的顺序执行 不应该是执行sql1 sql1 sql2 sql3 这样的顺序
展开
 我来答
智宝看电视
2010-10-15 · TA获得超过2197个赞
知道大有可为答主
回答量:1734
采纳率:66%
帮助的人:867万
展开全部
foreach($segment as $current){
$sql = $current;
echo $current;

$revertsql = mysql_query($sql)or die("<br>数据更新失败".mysql_error());
if ($revertsql) {
echo "还原成功<br><br>";
}
}
以上代码 请您详细阅读, foreach 数对于数组的条件循环语句,你的mysql_query()在foreach里面,也就是说foreach执行几次 你的程序就要执行几次,你的明白
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式