SoMeOnE
17.11.2012 - 03:26
Надо было один старый сайт починить. Такая проблема вышла. Не починил. Если мне его нужно будет все таки починить может кто знает в каком направлении искать
делаю запрос в базу (проверял на самом элементарном)
$query = "SELECT `*` FROM `table`";
потом mysql_query($query);
все нормально
и вот на этом этапе при любых функциях mysql_result(если менял запрос через единичный), mysql_fetch_array скрипт давал ошибку
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Пробовал насильно подключаться к базе прям с этого места. Не помогло. ТОже самое
При этом в phpmyadmin все прекрасно рабоатет. У юзера все права.
Из за чего такое могло случиться. Вроде элементарная ошибка.
Michael
17.11.2012 - 12:15
Что это -
`*` - такое?
_____________
There never was a struggle in the soul of a good man that was not hard
SlavaFr
17.11.2012 - 12:21
Цитата (SoMeOnE @ 16.11.2012 - 23:26) |
Надо было один старый сайт починить. Такая проблема вышла. Не починил. |
Можно я этот техт себе на футболке напишу?
Это просто шадевр!!!
Ok,
Если бы ты после запроса проверил бы что тебе mysql_error говорит, то увидел бы ошибку типа "Unknown column `*`" которая происходит от того что ты звездочку в кавычки загнал.
_____________
↓↓↓↓↓↓↓↓↓↓ответ может быть здесьили в mysql_error();
BlackGhost
17.11.2012 - 22:31
* - звездочка означает, что из таблицы выбираются все поля, это тоже самое как ты бы искал все файлы с расширением txt... Тогда ты бы ввел *.txt
Поэтому в кавычках она не нуждается
SoMeOnE
18.11.2012 - 03:28
Цитата (SlavaFr @ 17.11.2012 - 08:21) |
Цитата (SoMeOnE @ 16.11.2012 - 23:26) | Надо было один старый сайт починить. Такая проблема вышла. Не починил. |
|
В торопях писал. сонным был) и мне совсем не смешно было...
Я просто код скопировал быстро немного отредактировал когда на форум вопрос постил. Там я по пою id и некоторым другим полям (когда все поля поставил забыл кавычки удалить) выборку делал. Если бы там была такая элементарная ошибка я бы ее заметил. Я же говорю в phpmyadmin мои запросы все верно обрабатывались
waldicom
18.11.2012 - 03:31
как уже было предложено - для дебага выполняй запрос примерно так:
mysql_query('запрос') or die(mysql_error());
_____________
Свои мозги еще никто не отменял.
Телепатов нету.
SoMeOnE
18.11.2012 - 03:32
Цитата (Michael @ 17.11.2012 - 08:15) |
Что это - `*` - такое? |
То что тебе не нужно знать. Можено хотя бы не писать бессмысленные комменты. Вроде бы эксперт.
retro4u
18.11.2012 - 03:32
Ты запрос полностью свой приведи вместе с кодом - и по факту можно разобраться.)
А то это получается - гадание на кофейной гуще)А с магами в программировании - очень сложно)
retro4u
18.11.2012 - 03:34
Есть возможность задать напрямую запрос к базе? Ну через консольку, или навикат или может быть в phpmyadmin sql запрос сформировать.
Либо таблицы такой нет - либо она пуста.
SoMeOnE
18.11.2012 - 03:37
Цитата (retro4u @ 17.11.2012 - 23:32) |
Ты запрос полностью свой приведи вместе с кодом - и по факту можно разобраться.) А то это получается - гадание на кофейной гуще)А с магами в программировании - очень сложно) |
Ну я же говорю я самый обычный запрос написал. Элементарный. Там все правильно было. Просто некоторые умники над кавычками смеются.
Я его по все параметрам в самой базе проверял. Все работало.
Считай такой запрос как я написал только вместо всех полей id, title, date.
retro4u
18.11.2012 - 03:38
Хмм.
А с соединением с базой из скрипта как дела?
Ты строки из скрипта можешь показать - или они у тебя сверхсекретные?
SoMeOnE
18.11.2012 - 03:39
retro4u
Я уже который раз пишу, что все тестируемые запросы в phpmyadmin выполнялись без проблем. Я попросил помощи, так как думаю что дело скорей всего в каких то насройках. Так как такие вещи не впервый раз делаю. С такими страностями никогда не сталкивался.
SoMeOnE
18.11.2012 - 03:43
$result = $this->object_db->execute("SELECT `id` FROM `admin_users` WHERE login='$login'");
$user_id = mysql_result($result, 0, 'id');
Я в онлане работал. Приблизительно вот так было. К базе подключается заранее.
Я в этом месте кода отдельна прям в нем тоже подключался к базе. и выполнял запрос чистый без всяких подключаемых классов и обработчиков. НИкак не работал.
Здесь бесмысленно показывать код запрос, который и так и так работал.
У подключаемого юзера были все права, я проверял.
И через mysql_error тоже выводил. ошибка только на последней строке выводилась. которую я выше описал. что не валидный параметр передался.
waldicom
18.11.2012 - 03:44
жаль смотреть, как ты мучаешься, потому повторюсь:
как уже было предложено - для дебага выполняй запрос примерно так:
mysql_query('запрос') or die(mysql_error());
_____________
Свои мозги еще никто не отменял.
Телепатов нету.
SoMeOnE
18.11.2012 - 03:51
Цитата (waldicom @ 17.11.2012 - 23:44) |
жаль смотреть, как ты мучаешься, потому повторюсь:
как уже было предложено - для дебага выполняй запрос примерно так:
mysql_query('запрос') or die(mysql_error()); |
Ок. Спасибо за совет. Но если не ошибаюсь в методе класса он был прописан и ничего не выдавал. Он вроде бы просто всегда пустой возвращал запрос. Хотя на самом деле не пустой должен был быть. Если получится еще раз посмотреть код, проверю
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.