我正在尝试实现与在线支付框架的连接。
其中一个文件给我带来了一些麻烦,因为有时候代码有效,有时它不会...而且我无法理解为什么......
这是代码失败的地方......
$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”工作,它显示正确的值,但是当我把它们放在数组上时,有时变量会被传递,有时它们不会......所以,当到达{时{1}}它失败,因为值为空...但有时它有效...
关于可能发生什么的任何想法?
Thans 路易斯
答案 0 :(得分:0)
这种失败的唯一方法是查询不返回任何内容。
正确的方法是检查是否有东西返回:
$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";
}