Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2017, 19:52   #1
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье Как исправить falseInvalid utf8 character string ?

Подскажите пожалуйста, из-за чего возникает эта ошибка: falseInvalid utf8 character string: 'ip)\x0D\x0A\x09\x09 WALUES(\x0D\x0A\x09\x09\x09\x0'
И как ее исправить?
Женя32 вне форума Ответить с цитированием
Старый 02.01.2017, 20:03   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,694
По умолчанию

Из-за того, что в строке с кодировкрй 1251 (виндовой стандартной) вы пытаетесь отыскать признаки utf8.
p51x вне форума Ответить с цитированием
Старый 02.01.2017, 20:36   #3
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье

Цитата:
Сообщение от p51x Посмотреть сообщение
Из-за того, что в строке с кодировкрй 1251 (виндовой стандартной) вы пытаетесь отыскать признаки utf8.
iconv("UTF-8", "cp1251",..) - я эту функцию убрал.., но, теперь другая ошибка выходит:
falseYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Женя32 вне форума Ответить с цитированием
Старый 02.01.2017, 20:38   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И?
Вы не можете это перевести?

Подсказка: falseYou это не слово и вообще false не относится к тексту ошибки.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.01.2017, 20:44   #5
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
И?
Вы не можете это перевести?

Подсказка: falseYou это не слово и вообще false не относится к тексту ошибки.
Неправильный синтаксис.... Но, почему?:
PHP код:
          mysql_query("INSERT INTO `reg_user`(`login`, `pass`, `surname`, `name`, `patronymic`, `emil`, `phone`, `address`, `datetme`, `ip)
                       WALUES(
                          
$login,
                          
$pass,
                          
$surname,
                          
$name,
                          
$patronymic,
                          
$email,
                          
$phone,
                          
$address,
                          NOW(),
                          
$ip)",$link); 
echo 
mysql_error(); 
Женя32 вне форума Ответить с цитированием
Старый 02.01.2017, 20:49   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,694
По умолчанию

Цитата:
Но, почему?:
Код:
`ip)
p51x вне форума Ответить с цитированием
Старый 02.01.2017, 20:50   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну так выведите строку и посмотрите что вы пытаетесь передать в mysql_query.

Вообще так нельзя писать (особенно если данные не фильтруются), Бобби придет и накажет.
Используйте prepared statement.



https://www.google.com/search?q=sql+injection

www.phptherightway.com/#databases / http://getjump.me/ru-php-the-right-w...BD%D1%8B%D1%85

И mysql_ давно deprecated, используйте mysqli_ или PDO.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 03.01.2017 в 18:00.
Alex11223 вне форума Ответить с цитированием
Старый 02.01.2017, 20:57   #8
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье

Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
`ip)
А как нужно сделать?
Женя32 вне форума Ответить с цитированием
Старый 02.01.2017, 21:04   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,694
По умолчанию

Вы прикидываетесь? Не видите, что нет закрывающей кавычки?
p51x вне форума Ответить с цитированием
Старый 02.01.2017, 22:09   #10
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье

Цитата:
Сообщение от p51x Посмотреть сообщение
Вы прикидываетесь? Не видите, что нет закрывающей кавычки?
Увидел.., но, ошибка осталась....

PHP код:
          mysql_query("INSERT INTO `reg_user`(`login`, `pass`, `surname`, `name`, `patronymic`, `emil`, `phone`, `address`, `datetme`, `ip`)
                       WALUES(
                          
$login,
                          
$pass,
                          
$surname,
                          
$name,
                          
$patronymic,
                          
$email,
                          
$phone,
                          
$address,
                          NOW(),
                          
$ip)",$link); 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WALUES( ivanko, 7iy632fa8a32a04732d31d8f716531594f3 37a41' at line 2
Женя32 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Красивые православные места, архитектура, история, etc challengerr Свободное общение 2 27.02.2016 01:06
Rad Studio XE2. The name "C:\" contains an invalid character ":" AleksKr C++ Builder 4 05.12.2012 15:17
как исправить ошибку invalid conversion from const char* to char Ника К Помощь студентам 5 01.06.2012 00:13
Unclosed quotation mark after the character string $T@LKER Общие вопросы Delphi 11 08.09.2011 16:31
Warning: Narrowing given wide string constant lost information. Как исправить? SkAndrew Общие вопросы Delphi 4 18.08.2008 12:11