Mysql_fetch_array有时会失败



我正在尝试实现与在线支付框架的连接。

其中一个文件给了我一些麻烦,因为代码有时工作,有时不…我不明白为什么……

这里是代码失败的地方…

$sql = "select transidmerchant,totalamount from nsiapay where     transidmerchant='".$order_number."'and trxstatus='Verified'";
$result = mysql_query($sql);
**$checkout = mysql_fetch_array($result);**
echo "sql : ".$sql;
$hasil=$checkout['transidmerchant'];
echo "hasil: ".$hasil;
$amount=$checkout['totalamount'];
echo "amount: ".$amount;
    // Custom Field
if (!$hasil) {
  echo 'Stop1';
} else {
    if ($status=="Success") {}
}

这只是代码的一部分,但我认为这足以让你看到问题…它在粗体的$checkout = mysql_fetch_array($result);上失败了奇怪的是,"echo sql"工作了,它显示了正确的值,但是当我把它们放在数组上时,有时传递变量,有时不传递……所以,当到达if (!$hasil)时,它失败了,因为值是空的…但有时它是有效的…

你知道会发生什么吗?

谢谢路易斯。

唯一失败的方式是查询没有返回任何内容。

正确的方法是检查是否有返回值:

$sql = "select transidmerchant,totalamount from nsiapay where     transidmerchant='".$order_number."'and trxstatus='Verified'";
$result = mysql_query($sql);
if($checkout = mysql_fetch_array($result)){
    $hasil = $checkout['transidmerchant'];
    echo "hasil: ".$hasil;
    $amount=$checkout['totalamount'];
    echo "amount: ".$amount;
        // Custom Field
    if (!$hasil) {
      echo 'Stop1';
    } else {
        if ($status=="Success") {}
    }
}else{
    echo "Empty query result";
}

相关内容

  • 没有找到相关文章

最新更新