powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Ошибка Notice: Use of undefined constant
22 сообщений из 22, страница 1 из 1
Ошибка Notice: Use of undefined constant
    #38357651
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

Все оба раза значение в функцию передавалось одинаковое. И так вопрос: как собственно говоря лечить все это?
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38357669
Feramount
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему решил, достаточно было заэкранировать кавычками переменную в 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

Все оба раза значение в функцию передавалось одинаковое. И так вопрос: как собственно говоря лечить все это?
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38357675
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наивный. вспоминаем что такое sql injection
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38357676
Feramount
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrowнаивный. вспоминаем что такое sql injection
Ну у меня слава богу к этой функции нет открытого доступа. Туда данные попадают только целочисленного типа из БД товаров.
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38357686
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FeramountВ цикле два раза подряд выполняется следующая функция:

function CodeToURLImg($code) И какие же аргументы передаются функции в первый и во второй раз?


FeramountПроблему решил, достаточно было заэкранировать кавычками переменную в sql запросе вот так
$sql_catalog = 'SELECT Image FROM Message57 WHERE ItemID="'.$code.'";';Ага, ниче так костыль... вместо того чтобы присвоить переменной дефолтовое значение или проверить на соответствие типа данных.
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38357689
Feramount
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleFeramountВ цикле два раза подряд выполняется следующая функция:

function CodeToURLImg($code) И какие же аргументы передаются функции в первый и во второй раз?
Значение передавалось: 12507


vkleFeramountПроблему решил, достаточно было заэкранировать кавычками переменную в sql запросе вот так
пропущено...
Ага, ниче так костыль... вместо того чтобы присвоить переменной дефолтовое значение или проверить на соответствие типа данных.
Это конечно нарушение безопасности, но зачем нагружать лишними проверками если я знаю что у меня в БД данные занесены в целочисленном формате?
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38357696
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Feramount,

Отображаемая ошибка, действительно, не является непосредственным источником проблемы. Результат запроса вернулся пустой или запрос выполнился с ошибкой. А Вы пытаетесь использовать несуществующие значения - на это и указывают сообщения об ошибках. Однако, почему запрос не вернул данные, и вообще, правильно ли отработал - с этим Вы разбираться не пытаетесь.
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38357710
Feramount
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleFeramount,

Отображаемая ошибка, действительно, не является непосредственным источником проблемы. Результат запроса вернулся пустой или запрос выполнился с ошибкой. А Вы пытаетесь использовать несуществующие значения - на это и указывают сообщения об ошибках. Однако, почему запрос не вернул данные, и вообще, правильно ли отработал - с этим Вы разбираться не пытаетесь.

Ну почему же? В меру своих знаний я пытался разобраться почему не выполняется запрос. Просто мои поиски не привели ни к чему на что я мог бы опираться.
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38357747
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Feramount,

Тут получается не совсем понятная фигня. Если и в первый и во второй раз в качестве аргумента передается одно и то же значение, то, вероятно, при втором вызове в таблице нет данных. Потому возвращается пустой результат. С другой стороны, если заключение значения для поиска в кавычки привело к положительному результату, это намекает на исходное не числовое значение. Тут что-то не сходится...


FeramountПросто мои поиски не привели ни к чему на что я мог бы опираться.Начните с
Код: php
1.
var_dump($code, $query_catalog);

для начала. Потом
Код: php
1.
... or die(mysql_error());



PS: для кода используйте тег SRC, так понятнее будет.
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38357757
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Feramount $massiv = explode(":", $row_catalog[Image]); Вообще то, следует писать
Код: php
1.
$row_catalog['Image']
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38358119
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleFeramount,

Тут получается не совсем понятная фигня. Если и в первый и во второй раз в качестве аргумента передается одно и то же значение, то, вероятно, при втором вызове в таблице нет данных. Потому возвращается пустой результат. С другой стороны, если заключение значения для поиска в кавычки привело к положительному результату, это намекает на исходное не числовое значение. Тут что-то не сходится...


FeramountПросто мои поиски не привели ни к чему на что я мог бы опираться.Начните с
Код: php
1.
var_dump($code, $query_catalog);

для начала. Потом
Код: php
1.
... or die(mysql_error());



PS: для кода используйте тег SRC, так понятнее будет.

Тут всё проще (сталкивался, когда начинал). Во второй раз в функцию не передаётся $code, а соответственно запрос получается типа "WHERE ItemID=". Потому он не может быть выполнен (синтаксическая ошибка) и mysql_query возвращает false вместо ресурса. Если же автор обрамляет данное значение в кавычки, то получаем WHERE ItemID='', где пустая строка интерпретируется как 0 и запрос выполняется (однако автор не проверил приходящие значения, а если я прав, то они неправильные).

как-то так.
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38358127
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрВо второй раз в функцию не передаётся $codeТоже так подумалось. Но автор утверждает обратное:
FeramountvkleИ какие же аргументы передаются функции в первый и во второй раз?
Значение передавалось: 12507Потому и не сходится.
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38358333
Feramount
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПрограмёрvkleFeramount,

Тут получается не совсем понятная фигня. Если и в первый и во второй раз в качестве аргумента передается одно и то же значение, то, вероятно, при втором вызове в таблице нет данных. Потому возвращается пустой результат. С другой стороны, если заключение значения для поиска в кавычки привело к положительному результату, это намекает на исходное не числовое значение. Тут что-то не сходится...


пропущено...
Начните с
Код: php
1.
var_dump($code, $query_catalog);

для начала. Потом
Код: php
1.
... or die(mysql_error());



PS: для кода используйте тег SRC, так понятнее будет.

Тут всё проще (сталкивался, когда начинал). Во второй раз в функцию не передаётся $code, а соответственно запрос получается типа "WHERE ItemID=". Потому он не может быть выполнен (синтаксическая ошибка) и mysql_query возвращает false вместо ресурса. Если же автор обрамляет данное значение в кавычки, то получаем WHERE ItemID='', где пустая строка интерпретируется как 0 и запрос выполняется (однако автор не проверил приходящие значения, а если я прав, то они неправильные).

как-то так.

Самое смешное что проверил. И приходящее значение аналогично первому запросу.
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38358334
Feramount
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleFeramount $massiv = explode(":", $row_catalog[Image]); Вообще то, следует писать
Код: php
1.
$row_catalog['Image']


Да я уже исправил этот косяк.
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38358356
mhx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mhx
Гость
Добавьте обработку исключений (хотя бы уже предложенным методом ... or die (...)) и дебаг переменных — поиск ошибок пойдет шустрее.
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38358362
Feramount
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mhxДобавьте обработку исключений (хотя бы уже предложенным методом ... or die (...)) и дебаг переменных — поиск ошибок пойдет шустрее.
Да ошибку уже исправили экранированием двойных кавычек переменной $code в SQL запросе.
Там проблема не в переменных была. Каждый раз цикл возвращал sql запрос с кодом. Я это проверял выводом переменных которые поступают в функцию. Но второй раз он НЕ возвращал результат запроса.
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38358395
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FeramountПрограмёрпропущено...


Тут всё проще (сталкивался, когда начинал). Во второй раз в функцию не передаётся $code, а соответственно запрос получается типа "WHERE ItemID=". Потому он не может быть выполнен (синтаксическая ошибка) и mysql_query возвращает false вместо ресурса. Если же автор обрамляет данное значение в кавычки, то получаем WHERE ItemID='', где пустая строка интерпретируется как 0 и запрос выполняется (однако автор не проверил приходящие значения, а если я прав, то они неправильные).

как-то так.

Самое смешное что проверил. И приходящее значение аналогично первому запросу.

Не верю :).

Код: php
1.
2.
$sql_catalog = 'SELECT Image FROM Message57 WHERE ItemID='.$code;
var_dump($sql_catalog);


что выводит. "SELECT Image FROM Message57 WHERE ItemID=12507"? я утверждаю, что первый раз да, а второй раз "SELECT Image FROM Message57 WHERE ItemID="
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38358400
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FeramountДа ошибку уже исправили экранированием двойных кавычек переменной $code в SQL запросе.


Хм... так $code - это же число. Какие в нём двойные кавычки (для экранирования)? Вы или что-то путаете, или явно чего-то не договариваете...
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38358407
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёртак $code - это же число. Какие в нём двойные кавычки (для экранирования)?Автор это "число" кавычками и "заэкранировал"
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38358414
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleПрограмёртак $code - это же число. Какие в нём двойные кавычки (для экранирования)?Автор это "число" кавычками и "заэкранировал"

О_о я явно отстал от передовых технологий эканирования
А если серьёзно, хочу дождаться ответа автора. Он явно что-то не так делает и настырно считает что так и должно быть.
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38358850
Feramount
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Програмёрvkleпропущено...
Автор это "число" кавычками и "заэкранировал"

О_о я явно отстал от передовых технологий эканирования
А если серьёзно, хочу дождаться ответа автора. Он явно что-то не так делает и настырно считает что так и должно быть.

Вернул все на исходное, ошибки нету) как так вышло понять не могу)
...
Рейтинг: 0 / 0
Ошибка Notice: Use of undefined constant
    #38366693
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Feramount,

В отличие от api mysqli, api mysql требует не добавлять точказапятую в конец запроса.

автор$sql_catalog = 'SELECT Image FROM Message57 WHERE ItemID="'.$code.'";';

Чем это грозит я не знаю, но очевидно вы закаывычили не только значение, но semicolon. Короче глюк на глюке. И еще mysql порицаем.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Ошибка Notice: Use of undefined constant
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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