通过echo   $ORDER_NO  ;   如果不写里边的查询,就执行三次 ,即  $ORDER_NO  输出三笔订单号 。如果加了里边的查询,就只能得到一笔订单号。 我也是相当奇怪,测试好多次 都是这样

解决方案 »

  1.   

    很正常!
    通常数据库操作类都设计成只支持单一查询的
    所以你可以这样用
    $DB->ExecSQL( $SQL );
    $DB->Fetch() ;
    即查询结果集资源被缓存在类中
    于是当你第二次 $DB->ExecSQL( $SQL ) 时就把第一次的结果集资源给覆盖了
    所以外层循环只能执行一次解决的办法是在循环内再实例化一个数据库类,比如 $DB2 = new DB;