powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / не выполняется sql запрос
9 сообщений из 9, страница 1 из 1
не выполняется sql запрос
    #38595253
noTpyJI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть функция getOrders() которая должна вернуть многомерный массив

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
  function getOrders()
  {
    global $link;
    if(!is_file(ORDERS_LOG))
      return false;
    $orders = file(ORDERS_LOG);
    $allorders = array();
    
    foreach($orders as $order)
    {
      list($name, $email, $phone, $address, $dt, $orderid) = explode('|', $order);
     
      $orderinfo = array();
      
      $orderinfo['name']    = $name;
      $orderinfo['email']   = $email;
      $orderinfo['phone']   = $phone;
      $orderinfo['address'] = $address;
      $orderinfo['dt']      = $dt;
      $orderinfo['orderid'] = $orderid;
      
      $sql = "
        SELECT 
          title, author, pubyear, price, quantity
        FROM orders 
        WHERE orderid ='$orderid'";
      
      if(!$result = mysqli_query($link, $sql))
        return false;
      
      $items = mysqli_fetch_all($result, MYSQLI_ASSOC);
      mysqli_free_result($result);
      $orderinfo['goods'] = $items;
      $allorders[] = $orderinfo;
    }
    
    return $allorders;
  }


во вложенный массив ['goods'] должен вернутся результат sql запроса.
пробовал заменить "WHERE orderid ='$orderid'" на "WHERE 1=1" функция отработала как нужно,
в переменной $orderid есть данные которые записываются в $orderinfo['orderid'], но в sql косяк
поле 'orderid' имеет тип varchar(..)

База MySQL
...
Рейтинг: 0 / 0
не выполняется sql запрос
    #38595256
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
noTpyJI,

Покажите echo $sql и проверьте, нет ли ошибки после выполнения запроса.
...
Рейтинг: 0 / 0
не выполняется sql запрос
    #38595263
noTpyJI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

в sql закрался пробел в конце строки
Код: sql
1.
SELECT title, author, pubyear, price, quantity FROM orders WHERE orderid = '5330803cf1d0b '



Код: php
1.
2.
if($result = mysqli_query($link, $sql))
  return printf("Ошибка: %s\n", mysqli_error($link));


вернуло Ошибка: 15
...
Рейтинг: 0 / 0
не выполняется sql запрос
    #38595307
FatalPHPError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обычно ошибку выводят, если запрос НЕ выполнился, а у вас наоборот
...
Рейтинг: 0 / 0
не выполняется sql запрос
    #38595320
noTpyJI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кажется понял, в sql вот такая кака

Код: sql
1.
2.
SELECT title, author, pubyear, price, quantity FROM orders WHERE orderid = '5330803cf1d0b\r\n 
'



попробовал regexp пока не получилось
...
Рейтинг: 0 / 0
не выполняется sql запрос
    #38595322
FatalPHPError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
php.net/trim
...
Рейтинг: 0 / 0
не выполняется sql запрос
    #38595331
noTpyJI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FatalPHPError,

когда увидел пробел, первое что пришло в голову это trim
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
не выполняется sql запрос
    #39514819
Masta_RU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такая же проблема. Кто-нибудь нашел решение?
...
Рейтинг: 0 / 0
не выполняется sql запрос
    #39514820
Masta_RU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А все разобрался.
$orderid = trim($orderid);
Помогло.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / не выполняется sql запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]