X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите разобраться , ошибка: Unknown column 'test123'' in 'field list'
egor007
egor007
Topic Starter сообщение 17.9.2011, 19:04; Ответить: egor007
Сообщение #1


[PHP]<?php
include 'dbconfig.php';
if ($_POST['btn'])
{
$text=$_POST['text'];
}
echo 'Server status: ';
$connect=@mysql_connect($dbase['server'],$dbase['name'],$dbase['pass']);
if ($connect){
echo 'ok <br>';
}
else {
exit ('no connect');
}
mysql_select_db($dbase['base'], $connect);
$txt=mysql_real_escape_string($text);
$sql = "INSERT INTO test (text) VALUES(".$txt.");";

echo 'Sql status: ';
if (mysql_query($sql, $connect)){
echo 'Запрос выполнен' ;
}
else {
exit(mysql_error());
}
?>[/PHP]

P.S test123 это текст введёный в поле для ввода текста
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
adlic
adlic
сообщение 17.9.2011, 19:09; Ответить: adlic
Сообщение #2


$sql = "INSERT INTO test (text) VALUES(".$txt.");";

как по-вашему это должно работать?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
egor007
egor007
Topic Starter сообщение 17.9.2011, 19:11; Ответить: egor007
Сообщение #3


Записывать в таблицу данные с цифрами всё работает а с буквами нет.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
thesat
thesat
сообщение 17.9.2011, 19:33; Ответить: thesat
Сообщение #4


Какой тип данный в поле text? Поставьте VARCHAR(100).
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
egor007
egor007
Topic Starter сообщение 17.9.2011, 19:36; Ответить: egor007
Сообщение #5


Поставил , та же ошибка: Unknown column 'slovo' in 'field list'
p.s slovo Это текст который введён в поле для ввода текста
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
egor007
egor007
Topic Starter сообщение 17.9.2011, 19:40; Ответить: egor007
Сообщение #6


Если отправляешь цифры то они без ошибок записываются в базу а буквы не хотят
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 17.9.2011, 19:43; Ответить: Apay
Сообщение #7


какова структура таблицы?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
egor007
egor007
Topic Starter сообщение 17.9.2011, 19:46; Ответить: egor007
Сообщение #8


Я сам нашёл ошибку:
[PHP]$sql = "INSERT INTO test (text) VALUES('$txt');";[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
сообщение 17.9.2011, 21:12; Ответить: Arks
Сообщение #9


$sql = "INSERT INTO test (text) VALUES(".$txt.");";
дело в том что при коннекте php к серверу mysql все данные передаются фактически по текстовым каналам, поэтому mysql не преобразует тип php-string в mysql-string и мы должны напрямую сказать ему об этом за'addslahs'ив string-типы в самом запросе.
Зато могу заметить что данную проблему бы спокойно решили еще в бородатом году (с mysql-4) разработанные prepared statements. В общем, просто надо быть внимательнее.

Да, надеюсь вы понимаете что mysql_real_escape_string это не панацея.. если эксперимент то вообще без него обойдетесь а если продакшн, то лучше поагитирую вас за вынос бизнес-логики на сервер.. всякие триггеры, эвенты, форейны.. да. Ну или хотябы присмотритесь к клиентским prepared-statements (mysqli, PDO) - mysql все равно официально уже не поддерживается php

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 692 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Помогите рещить проблему с монитором.
Почему низкое разрешение при подключении монитора через displayport?
0 Levels 1695 11.12.2020, 0:48
автор: Levels
Открытая тема (нет новых ответов) Помогите кто нибудь получить партнерку Росбанк!
7 heisenberg_mw 2315 7.8.2020, 9:28
автор: heisenberg_mw
Открытая тема (нет новых ответов) Помогите найти тему пожалуйста
7 virtas 12402 24.7.2020, 17:02
автор: -JamesSmips-
Открытая тема (нет новых ответов) Помогите с поиском доноров
3 tehno_music 3332 4.11.2019, 17:15
автор: goblin78


 



RSS Текстовая версия Сейчас: 29.3.2024, 1:28
Дизайн