Проблема вставить в таблицу MySQL - PullRequest
1 голос
/ 30 декабря 2010

Я сделал скрипт для отправки сообщений.Но проблема в том, что он не может быть вставлен в таблицу, когда я набираю немного более длинное сообщение, хотя я установил «mail» как VARCHAR и длину 30005.

Я использую этот запрос ..

mysql_query("INSERT INTO `mailbox` (`id` ,`receiver` ,`mail` ,`sender` ,`time` ,`date` ,`reply-from` ,`read-status` ,`sd` ,`rd`) VALUES ('', '$receiver_username', '$mail', '$sender_username', '$gmt_time', '$gmt_date', '$from_mail', '1', '', '')") or die("Couldnt Insert Data");

когда набираешь маленькое сообщение, все в порядке.в противном случае он показывает, что не может вставить данные.

Так что, пожалуйста, помогите мне.

Недавно я проверил, есть ли у него bcz этот два синтаксиса 'и ". Теперь, как их вставить два, я не хочу кодировать тексты

Ответы [ 3 ]

0 голосов
/ 30 декабря 2010

Вы должны посмотреть на пару вещей здесь.

1: Вы должны сохранять данные в базе данных в текстовом столбце, а не в varchar 30005. 2: Посмотрите на все следующее в файле PHP.ini upload_max_filesize: 50M не max_execution_time: NONE memory_limit: 60M post_max_size: 55M

3: дополнительная подсказка может быть предоставлена ​​после того, как mysql_error ()

предоставит вам дополнительную ошибку
0 голосов
/ 30 декабря 2010

Возможно, длинный текст, который вы пытаетесь вставить, содержит одиночные кавычки ' или другие специальные символы.

Чтобы это исправить, а также по соображениям безопасности, вы должны использовать mysql_escape_string в своем тексте, прежде чем пытаться вставить его в таблицу.

0 голосов
/ 30 декабря 2010

Длина 30005 для поля varchar? это невозможно, максимальная длина varchar составляет 255 символов. Попробуйте сделать почтовое поле типом TEXT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...