mysql_fetch_array иногда терпит неудачу - PullRequest
0 голосов
/ 21 апреля 2011

Я пытаюсь подключиться к платформе онлайн-платежей.

Один из файлов доставляет мне некоторые неприятности, потому что иногда код работает, иногда нет ... И я не могу понять, почему ...

Вот где код не работает ...

$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» работает и показывает правильные значения, но потом, когда я помещаю их в массив, иногда переменные передаются, иногда нет ... И поэтому при получении 1009 * не получается, потому что значение пустое ... но иногда это работает ...

Есть идеи, что может произойти?

Thans Луис

1 Ответ

0 голосов
/ 21 апреля 2011

Единственный способ избежать этого - это когда запрос ничего не возвращает.

Правильный способ - проверить, есть ли что-то возвращенное:

$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";
}
...