code:
<?php$content = file_get_contents("test.log");
$matches = array();
preg_match_all('#order_id\[[0-9\.]+?\]#', $content, $matches);
echo "================= Start ================\n";
$field_list = array(
    'order_id',
    'uid',
    'city_id',
    'merchant_id',
    'merchant_name',
    'goods_id',
    'goods_name',
    'goods_et_price',
    'goods_current_price',
    'goods_settlement_price',
    'total_money',
    'no_discount_money',
    'merchant_discount_money',
    'discount_money',
    'all_discount_money',
    'pay_money',
    'paid_money',
    'pay_time',
    'vouchers_money',
    'storecards_money'
);
$echo_list = array(
    'order_id',
    'uid',
    'city_id',
    'merchant_id',
    'merchant_name',
    'goods_id',
    'goods_name',
    'goods_et_price',
    'goods_current_price',
    'goods_settlement_price',
    'total_money',
    'no_discount_money',
    'merchant_discount_money',
    'discount_money',
    'all_discount_money',
    'pay_money',
    'paid_money',
    'pay_time',
    'vouchers_money',
    'storecards_money',
    'city_name',
    'pay_day'
);
$searchList = implode(",",$field_list);
$echo_list = implode(",",$echo_list);
echo $echo_list."\n";
$mysql = mysql_connect('localhost','root','root') or die('connect fail');$db = mysql_select_db('test',$mysql);$orders = array();
foreach($matches as $vales){
foreach($vales as $v){
$order_id = substr($v,9,11);

 if(!empty($order_id)){
        $orders[] = $order_id;
}
}
   
}
foreach($orders as $order_id) {
    $sql = "SELECT $searchList FROM test WHERE order_id=".$order_id;
$rowsPaynow = mysql_query($sql,$mysql);
    $rowsPaynow = $rowsPaynow[0];
var_dump($rowPaynow);
    $city_id = $rowsPaynow['city_id'];
    //$city = Bd_Conf::getAppConf("/area/area/$city_id");
    //$rowsPaynow['city_name'] = $city;
    $rowsPaynow['pay_day'] = date('Y-m-d',$rowsPaynow['pay_time']);
    $data_list = implode(",",$rowsPaynow);
    echo $data_list."\n";
}
打印出sql语句在数据库中执行没有问题,能查到数据,但是使用mysql_query就返回结果为null;没有任何错误信息,数据库连接正常,请大神帮忙看看

解决方案 »

  1.   

    mysql_query(),是发送一条sql指令,返回一个资源。
    后面应该加上$rowsPaynow = mysql_fetch_assoc($rowsPaynow ) — 从结果集中取得一行作为关联数组 
    然后print_r($rowsPaynow);
    再者说,mysql_query返回的值不为NULL,只是$rowsPaynow = $rowsPaynow[0]; 这个值为NULL而已
      

  2.   

    $rowsPaynow = mysql_query($sql,$mysql);
    if(!$rowspaynow){
    echo mysql_error();exit;
    }看看有什么返回结果,2mysql_query返回的是个resource类型的数据,
      

  3.   


    $rowsPaynow = mysql_query($sql,$mysql) or die(mysql_error());$result = array();while($thread=mysql_fetch_assoc($rowsPaynow)){
        $result[] = $thread;
    }print_r($result);