[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не получает query_id
error418
Здравствуйте.
Делается курлом запрос серверу, сервер возвращает ответ в формате xml. Запрос асинхронный. Ожидаем, проверяем наличие ответа. Если ответ не готов, ждем, затем сново проверяем. Если ответ готов, обходим по строкам. Таки вот, те строки с запросом mysql, которые подписаны как лишний запрос, они тут не нужны. Без них код работает успешно на сервере с php5, а вот на другом сервере с php7 почему-то если в этом месте не сделать какой-нибудь, хоть какой-нибудь запрос, не важно какой, на последних выделенных строках будет ошибка. Пустой query_id, и текст ошибки никакой не возвращается. Подскажите, пожалуйста, из-за чего это так происходит? Может настройка какая-то..?

  while (!isset($xml->reports->getPayments->row)) {

$q = $db->query ("SELECT `qwTel` FROM qiwi WHERE `qwId` = '18'"); //лишний запрос
$f = $db->get_array($q); //лишний запрос

sleep(1);

$xml = $akt->query_osmp($query);
if (($xml->reports->getPayments['count'] == '0') && ($xml->reports->getPayments['result'] == '0') && ($xml->reports->getPayments['status'] == '3')) {
$count = 1;
$db->query("UPDATE `no_successfully_time` SET `noScsT_do`='finish' WHERE noScsT_dt='".$dtDt."'");
break;
}

if (($xml->reports->getPayments['result'] == '0') && ($xml->reports->getPayments['status'] == '4')) {
err('Не корректный запрос: '.htmlspecialchars($query));
$wTXT->wrtLog('Не корректный запрос!');

$count = 1;
break;
}
}
}
else err("А хз какая..");

if ($count!=1){

$cntFR=0; //всего строк в ответе
$dtLast=$dtOt; //первый платеж
$dtEnd=$dtDo; //последний платеж

foreach ($xml->reports->getPayments->row as $row){

$entr=TRUE;

if ($row['status']!=2 && $entr==TRUE){

$q = $db->query ("SELECT typ_term FROM terminals WHERE id_term='".$row['trm-id']."'"); // не работает без лишнего запроса
$f = $db->get_array($q);




В классе функция:

	function query($query, $show_error=true)
{
$query=str_replace ('"','"',$query);
$time_before = $this->get_real_time();

if(!$this->connected) $this->connect(DBUSER, DBPASS, DBNAME, DBHOST);

if(!($this->query_id = mysqli_query($this->db_id,$query) )) {

$this->mysql_error = mysqli_error();
$this->mysql_error_num = mysqli_errno();

if($show_error) {
$this->display_error($this->mysql_error, $this->mysql_error_num, $query);
}
}


$this->MySQL_time_taken += $this->get_real_time() - $time_before;

$this->query_num ++;

return $this->query_id;
}

[u]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.