powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос работающий в phpMyAdmin не работает через query();
11 сообщений из 11, страница 1 из 1
Запрос работающий в phpMyAdmin не работает через query();
    #39739055
helloUndefined
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Написал не сложный запрос с под запросом.
В phpMyadmin прекрасно работает:
SELECT
`modx_site_content`.id as idd,
`modx_site_content`.pagetitle as title,
`modx_site_content`.alias as alias,
(SELECT value FROM `modx_site_tmplvar_contentvalues` where contentid=idd and tmplvarid='72' limit 1) as image
FROM `modx_site_content`
WHERE (`modx_site_content`.content like '%ключевое-слово-в-описании-категории%') and parent='226' limit 20

Выводит он следующее содержимое:
(499, 'K PLUS', 'K-PLUS', 'assets/images/risunok2.jpg'),
(523, 'F-U33', 'F-U33', 'assets/images/ph.jpg'),
(2561, 'M30', 'm30', 'assets/images/m333.jpg')

Перенеся на php следующим кодом:
function products(){
$query = "SELECT
`modx_site_content`.id as idd,
`modx_site_content`.pagetitle as title,
`modx_site_content`.alias as alias,
(SELECT value FROM `modx_site_tmplvar_contentvalues` where contentid=idd and tmplvarid='72' limit 1) as image
FROM `modx_site_content`
WHERE (`modx_site_content`.content like '%ключевое-слово-в-описании-категории%') and parent='226' limit 20";
$res = mysql_query($query);
$allval = array();
$row = mysql_fetch_array($res);
while($row = mysql_fetch_array($res)){
echo $row['title'];
}
}
echo products();

В качестве ответа я получаю: bool(false)
Почитав форумы я понял что в MySql query() можно отправить за раз один запрос, как и в моем случае и пускай что он с под запросом.
Методом рефакторинга я нашёл что ошибка лежит в конструкции
Код: plaintext
`modx_site_content`.content like '%ключевое-слово-в-описании-категории%'
, но удалить не могу так как по факту это и есть основной функционал который нужен от кода, выборка категорий по наличию ключевого слова в описании.
В качестве альтернативы применял
Код: plaintext
instr(cont, 'ключевое-слово-в-описании-категории') > 0
что тоже не дало результата.
Причём логично что если удалить конструкцию с LIKE код заработает.
Подскажите как решить проблему.
Заранее спасибо.
...
Рейтинг: 0 / 0
Запрос работающий в phpMyAdmin не работает через query();
    #39739063
machetero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй передать соединение mysql_query(второй параметр посмотри в доке). И лучше использовать mysqli_query и остальные функции mysqli, тк mysql устарел, и выпилен из последних версий пыха.
...
Рейтинг: 0 / 0
Запрос работающий в phpMyAdmin не работает через query();
    #39739070
helloUndefined
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
machetero,
про mysqli я в курсе, и его multi_query() тоже. Просто я привык к функционалу mysql.
Я прекрасно понимаю зачем и почему сделали mysqli но не как не могу заставить себя запомнить изменения по сравнению со старым.
...
Рейтинг: 0 / 0
Запрос работающий в phpMyAdmin не работает через query();
    #39739084
helloUndefined
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
machetero, сделал
Код: plaintext
mysql_query($dbh,$query);
результат такой:

Код: plaintext
1.
2.
3.
Warning: mysql_query() expects parameter 2 to be resource, string given in /home/docs/test.php on line 17

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in /home/docs/test.php on line 19
NULL
...
Рейтинг: 0 / 0
Запрос работающий в phpMyAdmin не работает через query();
    #39739089
machetero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не в том порядке передал, запрос первый, соединение второе.
...
Рейтинг: 0 / 0
Запрос работающий в phpMyAdmin не работает через query();
    #39739099
helloUndefined
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
machetero, тоже самое и с
Код: plaintext
mysql_query($dbh,$query);
...
Рейтинг: 0 / 0
Запрос работающий в phpMyAdmin не работает через query();
    #39739102
helloUndefined
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробовал через mysqli, результат такой же. Работает также только без like
...
Рейтинг: 0 / 0
Запрос работающий в phpMyAdmin не работает через query();
    #39739106
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
helloUndefined,

Попробуйте в like указать только латинские буквы или цифры. Если заработает, то дело в кодировке.
Ну и точное сообщение об ошибке, когда не работает, показывайте.
...
Рейтинг: 0 / 0
Запрос работающий в phpMyAdmin не работает через query();
    #39739109
helloUndefined
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, сообщений об ошибках нет, а про кодировку спасибо за наводку, сейчас попробую.
...
Рейтинг: 0 / 0
Запрос работающий в phpMyAdmin не работает через query();
    #39739112
helloUndefined
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, спасибо за наводку, проблема в кодировке. Я уже себе голову сломал в чём проблема.
...
Рейтинг: 0 / 0
Запрос работающий в phpMyAdmin не работает через query();
    #39739162
helloUndefined
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рабочий код воть:

function products(){
$total='';
$query = "SELECT
`modx_site_content`.id as idd,
`modx_site_content`.pagetitle as title,
`modx_site_content`.alias as alias,
(SELECT value FROM `modx_site_tmplvar_contentvalues` where contentid=idd and tmplvarid='72' limit 1) as image
FROM `modx_site_content`
WHERE (`modx_site_content`.content like '%слово-по-которому-ищем%') and parent='226' limit 30";
/*Установка кодировки в которой будут идти запросы в бд*/
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
mysql_query("SET SESSION collation_connection = 'utf8_general_ci'");
/*Закончили с кодировкой*/
$res = mysql_query($query);
$row = mysql_fetch_array($res);
while($row = mysql_fetch_array($res)){
$total.=$row['title'];
}
return $total;
}
echo products();
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос работающий в phpMyAdmin не работает через query();
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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