Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не вносятся данные в базу!! Что делать? / 22 сообщений из 22, страница 1 из 1
16.05.2015, 20:13
    #38960666
Alex0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
Все привет. Недавно начал изучать Mysql.
возникла проблема, надеюсь кто то откликнется.

При внесении с формы обычного текста, данные все вносятся без вопросов. например:


« Наше поколение »

Наше поколение мутагенных норм,
Наше поколение извращенных слов.

Желает лучшего наше воспитание,
Желает лучшего наше одеяние.


Даже переносит сам строки с помощью тэга <pre>, но когда например вставить текст с аккордами, например:

Em C G D Em
Memories consume like opening the wounds
C G D
I'm picking me apart again
Em C G
You all assume
D Em
I'm searching in my room
C G D
Unless I try to start again


Такой текст не вноситься в базу, выводит ошибку при внесении в базу данных.

Подскажите в чем может быть проблема?????
...
Рейтинг: 0 / 0
16.05.2015, 20:46
    #38960673
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
Ну так строковые данные или экранировать надо, или (что предпочтительнее) использовать запросы с параметрами.
...
Рейтинг: 0 / 0
17.05.2015, 07:21
    #38960734
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
Alex0303,

определения таблиц, запрос, ошибки и результат выполнения запроса - тогда будет о чем говорить.
...
Рейтинг: 0 / 0
17.05.2015, 22:11
    #38960968
Alex0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
Вот код формы внесения данных:

<form action = "guestbook1.php" enctype="multipart/form-data", method = "POST">
<input type = "text" name= "name" size="40" maxlength="50" placeholder="Имя" value = "firstname"> Имя <BR><BR>
<input type = "text" name= "mail" size="40" maxlength="50" placeholder="e-mail" value = "mail" > Электронная почта <BR>
<br><input type="hidden" name="ip" value="<?$_SERVER['SERVER_ADDR']?>">
<textarea name="comments" value="comments" rows="5" size = "3000000000000" cols="100" placeholder="Введи Ваш отзыв о нашем сайте"></textarea><BR><BR>
<input type="submit" value="Отправить отзыв">
</form>

Данные с формы направляются для внесения в базу данных:

$guestname = $_POST ['name'];
$guestmail = $_POST ['mail'];
$guestcomments = "<pre>" . $_POST ['comments'] . "</pre>";
$guestip = $_SERVER['REMOTE_ADDR'];
$guesttime = date("Y-m-d H:i:s");
$foto = $_POST ['foto'];
$i = 0;
if ($guestname != 0)
{
$i++;

}

$sql = "INSERT INTO $userstable VALUES ('$i', '$guestname', '$guestmail', '$guesttime', '$guestip', '$guestcomments', '$foto')";
if(!mysql_query($sql))
{
echo '<center><p><b>Ошибка при добавлении данных!</b></p></center>';
}
else
{
echo '<center><p><b>Данные успешно добавлены!</b></p></center>';
}
...
Рейтинг: 0 / 0
17.05.2015, 22:14
    #38960969
Alex0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
...
Рейтинг: 0 / 0
17.05.2015, 22:15
    #38960970
Alex0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
это sql таблица в которую вносятся данные!
...
Рейтинг: 0 / 0
17.05.2015, 23:49
    #38960991
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
Alex0303$sql = "INSERT INTO $userstable VALUES ('$i', '$guestname', '$guestmail', '$guesttime', '$guestip', '$guestcomments', '$foto')";Ну о чем я и говорил выше.
...
Рейтинг: 0 / 0
18.05.2015, 08:14
    #38961069
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
miksoft,

Как недавно выяснилось (для меня недавно :) ), что PDO-адаптер только имитирует передачу параметров, то остается "только квотить" если работаем через это чудо... :)
...
Рейтинг: 0 / 0
18.05.2015, 09:17
    #38961133
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
Arhat109PDO-адаптер только имитирует передачу параметровСтранно, конечно. А кавычки-то хоть экранирует при этом ?
...
Рейтинг: 0 / 0
18.05.2015, 11:26
    #38961299
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
miksoft,

Всё нормально экранирует, да так, что долго работал с ним и свято верил что передает честно как параметры ... :)
...
Рейтинг: 0 / 0
18.05.2015, 18:28
    #38961937
Alex0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
miksoft,

исправил на: $sql = "INSERT INTO `comments` VALUES ('$i', '$guestname', '$guestmail', '$guesttime', '$guestip', '$guestcomments', '$foto')";

результат тот же!((
...
Рейтинг: 0 / 0
18.05.2015, 18:44
    #38961948
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
Alex0303,

Так Вы же ничего не исправили. Где хотя бы экранирование кавычек?

Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
18.05.2015, 18:52
    #38961955
Alex0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
miksoft, немного не понял, можете показать на примере кода?
...
Рейтинг: 0 / 0
18.05.2015, 19:05
    #38961973
Alex0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
miksoft,
попробывал текст с кавычками, все вносится и выводится! на сервере. Может вопрос в пустых сроках?
...
Рейтинг: 0 / 0
18.05.2015, 19:22
    #38961988
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
Alex0303,

Для начала применяете тынц .

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

PS: Когда надоест обмусоливать все входные данные - перейдёте на PDO.
...
Рейтинг: 0 / 0
18.05.2015, 19:36
    #38961996
Alex0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
vkle,

вот кот обработки формы:

<?php
/* создать соединение */
include ('db.php');
$guestname = $_POST ['name'];
$guestmail = $_POST ['mail'];
$guestcomments = "<pre>" . $_POST ['comments'] . "</pre>";
$guestip = $_SERVER['REMOTE_ADDR'];
$guesttime = date("Y-m-d H:i:s");
$foto = $_POST ['foto'];
$i = 0;
if ($guestname != 0)
{
$i++;

}

$sql = "INSERT INTO `comments` VALUES ('$i', '$guestname', '$guestmail', '$guesttime',
'$guestip', '$guestcomments', '$foto', mysql_real_escape_string($guestcomments))";
if(!mysql_query($sql))
{
echo '<center><p><b>Ошибка при добавлении данных!</b></p></center>';
}
else
{
echo '<center><p><b>Данные успешно добавлены!</b></p></center>';
}
?>

при внесении обычного текста ошибок нету, а при внесении текста типа:
Fm C# C7 Fm
I hold my breath as this life starts to take its toll
C# C7 Fm
I hide behind a smile as this perfect plan unfolds
C# Bbm
But oh, God, I feel I've been lied to
C C7
Lost all faith in the things I have achieved

выводит следующую ошибку:
...
Рейтинг: 0 / 0
18.05.2015, 19:51
    #38962004
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
Alex0303выводит следующую ошибку:Хороша картинка! Ещё б рюшечки да кружавчики к ней присандалить - цены не будет! Непременно запихните её в раму - и на стенку повесьте. Сарказм это был, если че.

Ошибки смотреть этой штуковиной . И никак иначе.
...
Рейтинг: 0 / 0
18.05.2015, 20:04
    #38962010
Alex0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
vkle,

за картинку спасибо))

я понимаю что там пустая строка, но как прописать запрос, что бы данный текст вносился в таблицу?
...
Рейтинг: 0 / 0
18.05.2015, 20:25
    #38962022
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
Alex0303там пустая строкаГде? var_dump($sql); - в студию!

Alex0303что быЭто пишется слитно в данном случае.
...
Рейтинг: 0 / 0
18.05.2015, 21:12
    #38962059
Alex0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
vkle,
извините за синтаксис. стало стыдно, буду исправляться!

но почему не вносит в данные в таблицу?
...
Рейтинг: 0 / 0
18.05.2015, 22:26
    #38962097
Alex0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
Всем спасибо за подсказки в какую сторону надо было думать, поломал немного голову и решил проблему таким способом:

$guestcomments = $_POST ['comments'];
$guestcomments = mysql_real_escape_string($guestcomments);

подробное описание данной проблемы и её решение для только зачинающих программистов можно посмотреть здесь:
http://phpfaq.ru/slashes
...
Рейтинг: 0 / 0
19.05.2015, 00:37
    #38962132
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вносятся данные в базу!! Что делать?
Alex0303,

Чтобы люди не ломали голову - просто мог бы сказать - "у меня в строке апостроф, который сервер принимает за ее окончание, а это "ломает" SQL выражение"... Элементарое решение - использование параметров или замена одинарной кавычки на `...
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не вносятся данные в базу!! Что делать? / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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