Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Проблема с занесением данных в mysql


Автор: intracomof 16.6.2009, 11:37
Здравствуйте, у меня тут такая проблема нарисовалась: при занесении данных в бд, mysql капризничает с переменными.
Есть у меня примерно такой код:
Код

$text = "текст".$a."текст".$b;
$sql = "INSERT INTO table (text) VALUES ('$text')";
$result = mysql_query($sql);


Данные просто не заносятся из-за того, что переменная $text содержит в себе еще переменные. Помогите найти решение или компромисс, пожалуйста smile 

Автор: azesmcar 16.6.2009, 11:45
Цитата(intracomof @  16.6.2009,  11:37 Найти цитируемый пост)
Данные просто не заносятся из-за того, что переменная $text содержит в себе еще переменные. Помогите найти решение или компромисс, пожалуйста smile  

так и пишет? Не могу вставить запись так как переменная содержит в себе переменные smile 
открою вам секрет, ничего она в себе не содержит кроме текста.
mysql_error() что говорит? скорее всего текст слишком длинный для вашего поля.

Автор: intracomof 16.6.2009, 11:57
Цитата(azesmcar @ 16.6.2009,  11:45)
Цитата(intracomof @  16.6.2009,  11:37 Найти цитируемый пост)
Данные просто не заносятся из-за того, что переменная $text содержит в себе еще переменные. Помогите найти решение или компромисс, пожалуйста smile  

так и пишет? Не могу вставить запись так как переменная содержит в себе переменные smile 
открою вам секрет, ничего она в себе не содержит кроме текста.
mysql_error() что говорит? скорее всего текст слишком длинный для вашего поля.

Без переменных все вставляется нормально. Поле типа TEXT. mysql_error() выдает следующее: 
"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"

Автор: azesmcar 16.6.2009, 11:58
intracomof

Код

$text = "текст".$a."текст".$b;
$sql = "INSERT INTO table (text) VALUES ('$text')";
echo $sql; //что выводит?
//$result = mysql_query($sql);

причиной может быть то что $a или $b содержат символ '
следовательно после конкатанации в переменной $text этот симол тоже будет. Как следствие этого синтаксическая ошибка.

Автор: intracomof 16.6.2009, 12:05
Спасибо, я забыл, что у меня одинарные кавычки в тексте smile
Спасибо smile

Автор: Shark 16.6.2009, 12:13
Цитата

Спасибо, я забыл, что у меня одинарные кавычки в тексте 

что бы не было проблем нужно использовать функцию mysql_real_escape_string()

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)