Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
В цикле два раза подряд выполняется следующая функция: function CodeToURLImg($code) { $sql_catalog = 'SELECT Image FROM Message57 WHERE ItemID='.$code; $query_catalog = mysql_query($sql_catalog); $row_catalog = mysql_fetch_array($query_catalog); $massiv = explode(":", $row_catalog[Image]); $CodeToURLImg = '/netcat_files/'.$massiv[3];return $CodeToURLImg; } Первый раз возвращает нормально значение, второй раз возвращает ошибку: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/a/aas2ra/aas2ra.bget.ru/public_html/netcat/full.php(127) : eval()'d code on line 101 После включения отображение ошибок так же увидел вот такую вот ошибку: Notice: Use of undefined constant Image - assumed 'Image' in /home/a/aas2ra/aas2ra.bget.ru/public_html/netcat/full.php(127) : eval()'d code on line 121 Все оба раза значение в функцию передавалось одинаковое. И так вопрос: как собственно говоря лечить все это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 02:39 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
Проблему решил, достаточно было заэкранировать кавычками переменную в sql запросе вот так $sql_catalog = 'SELECT Image FROM Message57 WHERE ItemID="'.$code.'";'; FeramountВ цикле два раза подряд выполняется следующая функция: function CodeToURLImg($code) { $sql_catalog = 'SELECT Image FROM Message57 WHERE ItemID='.$code; $query_catalog = mysql_query($sql_catalog); $row_catalog = mysql_fetch_array($query_catalog); $massiv = explode(":", $row_catalog[Image]); $CodeToURLImg = '/netcat_files/'.$massiv[3];return $CodeToURLImg; } Первый раз возвращает нормально значение, второй раз возвращает ошибку: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/a/aas2ra/aas2ra.bget.ru/public_html/netcat/full.php(127) : eval()'d code on line 101 После включения отображение ошибок так же увидел вот такую вот ошибку: Notice: Use of undefined constant Image - assumed 'Image' in /home/a/aas2ra/aas2ra.bget.ru/public_html/netcat/full.php(127) : eval()'d code on line 121 Все оба раза значение в функцию передавалось одинаковое. И так вопрос: как собственно говоря лечить все это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 05:06 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
наивный. вспоминаем что такое sql injection ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 06:40 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
ScareCrowнаивный. вспоминаем что такое sql injection Ну у меня слава богу к этой функции нет открытого доступа. Туда данные попадают только целочисленного типа из БД товаров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 06:42 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
FeramountВ цикле два раза подряд выполняется следующая функция: function CodeToURLImg($code) И какие же аргументы передаются функции в первый и во второй раз? FeramountПроблему решил, достаточно было заэкранировать кавычками переменную в sql запросе вот так $sql_catalog = 'SELECT Image FROM Message57 WHERE ItemID="'.$code.'";';Ага, ниче так костыль... вместо того чтобы присвоить переменной дефолтовое значение или проверить на соответствие типа данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 07:36 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
vkleFeramountВ цикле два раза подряд выполняется следующая функция: function CodeToURLImg($code) И какие же аргументы передаются функции в первый и во второй раз? Значение передавалось: 12507 vkleFeramountПроблему решил, достаточно было заэкранировать кавычками переменную в sql запросе вот так пропущено... Ага, ниче так костыль... вместо того чтобы присвоить переменной дефолтовое значение или проверить на соответствие типа данных. Это конечно нарушение безопасности, но зачем нагружать лишними проверками если я знаю что у меня в БД данные занесены в целочисленном формате? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 07:47 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
Feramount, Отображаемая ошибка, действительно, не является непосредственным источником проблемы. Результат запроса вернулся пустой или запрос выполнился с ошибкой. А Вы пытаетесь использовать несуществующие значения - на это и указывают сообщения об ошибках. Однако, почему запрос не вернул данные, и вообще, правильно ли отработал - с этим Вы разбираться не пытаетесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 08:05 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
vkleFeramount, Отображаемая ошибка, действительно, не является непосредственным источником проблемы. Результат запроса вернулся пустой или запрос выполнился с ошибкой. А Вы пытаетесь использовать несуществующие значения - на это и указывают сообщения об ошибках. Однако, почему запрос не вернул данные, и вообще, правильно ли отработал - с этим Вы разбираться не пытаетесь. Ну почему же? В меру своих знаний я пытался разобраться почему не выполняется запрос. Просто мои поиски не привели ни к чему на что я мог бы опираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 08:25 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
Feramount, Тут получается не совсем понятная фигня. Если и в первый и во второй раз в качестве аргумента передается одно и то же значение, то, вероятно, при втором вызове в таблице нет данных. Потому возвращается пустой результат. С другой стороны, если заключение значения для поиска в кавычки привело к положительному результату, это намекает на исходное не числовое значение. Тут что-то не сходится... FeramountПросто мои поиски не привели ни к чему на что я мог бы опираться.Начните с Код: php 1. для начала. Потом Код: php 1. PS: для кода используйте тег SRC, так понятнее будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 09:23 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
Feramount $massiv = explode(":", $row_catalog[Image]); Вообще то, следует писать Код: php 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 09:29 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
vkleFeramount, Тут получается не совсем понятная фигня. Если и в первый и во второй раз в качестве аргумента передается одно и то же значение, то, вероятно, при втором вызове в таблице нет данных. Потому возвращается пустой результат. С другой стороны, если заключение значения для поиска в кавычки привело к положительному результату, это намекает на исходное не числовое значение. Тут что-то не сходится... FeramountПросто мои поиски не привели ни к чему на что я мог бы опираться.Начните с Код: php 1. для начала. Потом Код: php 1. PS: для кода используйте тег SRC, так понятнее будет. Тут всё проще (сталкивался, когда начинал). Во второй раз в функцию не передаётся $code, а соответственно запрос получается типа "WHERE ItemID=". Потому он не может быть выполнен (синтаксическая ошибка) и mysql_query возвращает false вместо ресурса. Если же автор обрамляет данное значение в кавычки, то получаем WHERE ItemID='', где пустая строка интерпретируется как 0 и запрос выполняется (однако автор не проверил приходящие значения, а если я прав, то они неправильные). как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 12:33 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
ПрограмёрВо второй раз в функцию не передаётся $codeТоже так подумалось. Но автор утверждает обратное: FeramountvkleИ какие же аргументы передаются функции в первый и во второй раз? Значение передавалось: 12507Потому и не сходится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 12:36 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
ПрограмёрvkleFeramount, Тут получается не совсем понятная фигня. Если и в первый и во второй раз в качестве аргумента передается одно и то же значение, то, вероятно, при втором вызове в таблице нет данных. Потому возвращается пустой результат. С другой стороны, если заключение значения для поиска в кавычки привело к положительному результату, это намекает на исходное не числовое значение. Тут что-то не сходится... пропущено... Начните с Код: php 1. для начала. Потом Код: php 1. PS: для кода используйте тег SRC, так понятнее будет. Тут всё проще (сталкивался, когда начинал). Во второй раз в функцию не передаётся $code, а соответственно запрос получается типа "WHERE ItemID=". Потому он не может быть выполнен (синтаксическая ошибка) и mysql_query возвращает false вместо ресурса. Если же автор обрамляет данное значение в кавычки, то получаем WHERE ItemID='', где пустая строка интерпретируется как 0 и запрос выполняется (однако автор не проверил приходящие значения, а если я прав, то они неправильные). как-то так. Самое смешное что проверил. И приходящее значение аналогично первому запросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 14:33 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
vkleFeramount $massiv = explode(":", $row_catalog[Image]); Вообще то, следует писать Код: php 1. Да я уже исправил этот косяк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 14:33 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
Добавьте обработку исключений (хотя бы уже предложенным методом ... or die (...)) и дебаг переменных — поиск ошибок пойдет шустрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 14:42 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
mhxДобавьте обработку исключений (хотя бы уже предложенным методом ... or die (...)) и дебаг переменных — поиск ошибок пойдет шустрее. Да ошибку уже исправили экранированием двойных кавычек переменной $code в SQL запросе. Там проблема не в переменных была. Каждый раз цикл возвращал sql запрос с кодом. Я это проверял выводом переменных которые поступают в функцию. Но второй раз он НЕ возвращал результат запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 14:45 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
FeramountПрограмёрпропущено... Тут всё проще (сталкивался, когда начинал). Во второй раз в функцию не передаётся $code, а соответственно запрос получается типа "WHERE ItemID=". Потому он не может быть выполнен (синтаксическая ошибка) и mysql_query возвращает false вместо ресурса. Если же автор обрамляет данное значение в кавычки, то получаем WHERE ItemID='', где пустая строка интерпретируется как 0 и запрос выполняется (однако автор не проверил приходящие значения, а если я прав, то они неправильные). как-то так. Самое смешное что проверил. И приходящее значение аналогично первому запросу. Не верю :). Код: php 1. 2. что выводит. "SELECT Image FROM Message57 WHERE ItemID=12507"? я утверждаю, что первый раз да, а второй раз "SELECT Image FROM Message57 WHERE ItemID=" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 15:03 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
FeramountДа ошибку уже исправили экранированием двойных кавычек переменной $code в SQL запросе. Хм... так $code - это же число. Какие в нём двойные кавычки (для экранирования)? Вы или что-то путаете, или явно чего-то не договариваете... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 15:04 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
Програмёртак $code - это же число. Какие в нём двойные кавычки (для экранирования)?Автор это "число" кавычками и "заэкранировал" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 15:09 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
vkleПрограмёртак $code - это же число. Какие в нём двойные кавычки (для экранирования)?Автор это "число" кавычками и "заэкранировал" О_о я явно отстал от передовых технологий эканирования А если серьёзно, хочу дождаться ответа автора. Он явно что-то не так делает и настырно считает что так и должно быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 15:12 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
Програмёрvkleпропущено... Автор это "число" кавычками и "заэкранировал" О_о я явно отстал от передовых технологий эканирования А если серьёзно, хочу дождаться ответа автора. Он явно что-то не так делает и настырно считает что так и должно быть. Вернул все на исходное, ошибки нету) как так вышло понять не могу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 20:36 |
|
||
|
Ошибка Notice: Use of undefined constant
|
|||
|---|---|---|---|
|
#18+
Feramount, В отличие от api mysqli, api mysql требует не добавлять точказапятую в конец запроса. автор$sql_catalog = 'SELECT Image FROM Message57 WHERE ItemID="'.$code.'";'; Чем это грозит я не знаю, но очевидно вы закаывычили не только значение, но semicolon. Короче глюк на глюке. И еще mysql порицаем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 18:45 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38358414&tid=1463528]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 363ms |

| 0 / 0 |
