Страница 1 из 1
Php код
Добавлено: 24 авг 2023, 09:25
Lozhkinda
Подскажите пожалуйста почему не работает
$x=[id];
$output_value = db_query("select field_1755 from app_entity_120 where field_5334=" . $x);
select field_1755 from app_entity_120 where field_5334=[id] - работает на sql
Re: Php код
Добавлено: 24 авг 2023, 09:42
Fait
Lozhkinda писал(а): 24 авг 2023, 09:25
Подскажите пожалуйста почему не работает
$x=[id];
$output_value = db_query("select field_1755 from app_entity_120 where field_5334=" . $x);
select field_1755 from app_entity_120 where field_5334=[id] - работает на sql
Потому что на php данные сначала собираются в массив, после чего этот массив нужно разобрать.
Есть такой способ, через
foreach (Перебирается строчка за строчкой, это удобно при работе со многими записями в запросе):
Код: Выделить всё
$x = [id];
$check_f = db_query('select * from app_entity_120 where field_5334='.$x);
foreach ($check_f as $key => $value) {
$out = $value['field_1755'];
}
$output_value = $out;
И вот такой способ (Удобен при необходимости забрать только одно-пару значение):
Код: Выделить всё
$x = [id];
$check_f = db_query('select field_1755 from app_entity_120 where field_5334='.$x);
$values = db_fetch_array($check_f);
$out = $values['field_1755'];
$output_value = $out;
Re: Php код
Добавлено: 24 авг 2023, 17:39
tehnos
Функция db_query возвращает объект, который ещё надо преобразовать.
Например функцией mysqli_fetch_assoc, которая вернёт массив. А уже результат обработки этого массива уже можно выводить в $output_value
Re: Php код
Добавлено: 24 авг 2023, 19:00
Fait
tehnos писал(а): 24 авг 2023, 17:39
Функция db_query возвращает объект, который ещё надо преобразовать.
Например функцией mysqli_fetch_assoc, которая вернёт массив. А уже результат обработки этого массива уже можно выводить в $output_value
mysqli_fetch_assoc некорректно работает внутри системы.
Зато точно работают написанные выше скрипты.
Re: Php код
Добавлено: 24 авг 2023, 19:02
tehnos
Fait писал(а): 24 авг 2023, 19:00
tehnos писал(а): 24 авг 2023, 17:39
Функция db_query возвращает объект, который ещё надо преобразовать.
Например функцией mysqli_fetch_assoc, которая вернёт массив. А уже результат обработки этого массива уже можно выводить в $output_value
mysqli_fetch_assoc некорректно работает внутри системы.
Зато точно работают написанные выше скрипты.
У меня вся система написана с использованием этой функции.
В чём конкретно её не корректность?
Re: Php код
Добавлено: 25 авг 2023, 07:48
support
Нужно использовать внутреннюю функцию db_fetch_array, там передается объект mysqli. Внутренняя функция так же может работать, но возможны сбои при обновлении пхп и т.д.