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



 

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

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

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Добавление данных в БД из web формы
Licoric
Licoric
Topic Starter сообщение 17.11.2008, 6:38; Ответить: Licoric
Сообщение #1


собственно имею:

[PHP]<?php
include ("menu.php");
echo "
<form action=mysqladdreview.php method=post>
<table border=1 align=center width=80%>
<tr>
<td colspan=2>Добавить отзыв:
</td>
</tr>
<tr>
<td colspan=2><br>
</td>
</tr>
<tr>
<td colspan=2>Заголовок формы:
</td>
</tr>
<tr>
<td colspan=2>

<textarea name=body rows=10 style=width:100%></textarea>

</td>
</tr>
<tr>
<tr center>
<td colspan=2 align=center><input type=submit value='Добавить отзыв'></td>
</tr>

</table>
</form>";
?>[/PHP]

При нажатии кнопки "добавить отзыв" открывается mysqladdreview.php и туда передается значение "body".

Далее по аналогии примера из, думаю, известного примера всех книжек по пхп и мускул, про книжный магазин делаю код:

[PHP]<?php
// создание коротких имен переменных
$body=$_POST['body'];
//Проверка на наличие ввода данных...

if (!$body)
{
echo 'Вы ввели не все необходимые сведения.<br />'
.'Пожалуйста, вернитесь на предыдущую страницу и повторите ввод.';
exit;
}

if (!get_magic_quotes_gpc())
{
$body = addslashes($body);
}

@ $db = new mysqli('localhost', 'root', '', 'auto');

if (mysqli_connect_errno())
{
echo 'Ошибка: Не удалось установить соединение с базой данных.
Пожалуйста, повторите попытку позже.';
exit;
}

$query = "insert into review values
('".$body."')";

$result = $db->query($query);
if ($result)
echo $db->affected_rows." обзор добавлен в базу данных...";

?>[/PHP]

Есть эта самая БД auto и таблица "review". Однако данные не вставляются...
ps может быть косяк в создании таблицы?
Тип - текст, ноль - нет. первое поле - id (auto_increment) и остальные поля - по аналогии (все текстовые). В общем где эти грабли, которые не дают пройти дальше?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ворон
Ворон
сообщение 17.11.2008, 9:26; Ответить: Ворон
Сообщение #2


сделайте обработчик ошибок и напишите, что за ошибку отдает mysql.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 17.11.2008, 15:10; Ответить: Licoric
Сообщение #3


Как и где?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ворон
Ворон
сообщение 17.11.2008, 17:23; Ответить: Ворон
Сообщение #4


в коде, mysql_error
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 17.11.2008, 23:29; Ответить: Licoric
Сообщение #5


Равно true написать? Или как?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ворон
Ворон
сообщение 18.11.2008, 0:58; Ответить: Ворон
Сообщение #6


главное, что иконка правильно подобрана
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 18.11.2008, 18:40; Ответить: Licoric
Сообщение #7


Какая еще иконка? Мне не очень удобно сидеть в интернете с мобильного телефона и читать то, что вы пишете не по теме. Ожидая увидеть ответ на простой вопрос я вижу какую то хрень, извините меня. Почему так сложно на простой вопрос дать не менее простой ответ? если уж нечего сказать по теме, то почему бы просто не промолчать?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 18.11.2008, 19:05; Ответить: Webmaster_hb
Сообщение #8


после каждой обращения к базе
вставить
echo mysql_errno() . ": " . mysql_error(). "\n";
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ворон
Ворон
сообщение 18.11.2008, 19:47; Ответить: Ворон
Сообщение #9


все просто. какие вопросы такие и ответы :p


небольшой опус касательно дебага в целом.
многие упускают ценность отладочной информации. практика показывает, что большинство людей использует лишь echo. да, если в вашем модуле запросы только типа select * from table limit 10, то тогда вам она может и не понадобится. а если система велика? большие запросы, сложная логика. как собираетесь отслеживать инфу на production, быстродействие, где что отвалилось? ответ - никак!
делайте логирование, задайте возможность включать и выключать его (чтобы снижать нагрузку), когда на продакшн базе появятся проблемы (а они появятся :)), включенное логирование вас спасет.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 18.11.2008, 23:14; Ответить: Webmaster_hb
Сообщение #10


вроде "медленные запросы" и так логируются
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Интеграция спортивных данных API. Коэффициенты БК, Live результаты
14 yaroslav89 6543 13.3.2024, 23:16
автор: spoyer_ru
Открытая тема (нет новых ответов) <Braga/> Создание Telegram-ботов, web-приложений, крипто-бирж, сайтов.
2 newbraga 1614 10.3.2024, 22:04
автор: newbraga
Открытая тема (нет новых ответов) ГОРЯЧИЕ FOREX|CRYPTO ЛИДЫ. БАЗЫ ДАННЫХ
[Чарджбек|Рекавери|Возврат]
9 Leado 3758 9.2.2024, 16:04
автор: baza0013
Открытая тема (нет новых ответов) Услуга - восстановление сайтов из web.archive.org
Адекватные цены.
0 donald_666 1231 4.12.2023, 15:36
автор: donald_666
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыБуржунет. Гест Посты на .EDU .GOV. Топ ссылки TLD, WEB 2.0, профили Microsoft и др. 100% индексация
Продажа ссылок с индексацией на мощных площадках
11 diezelk 9847 13.5.2023, 11:12
автор: diezelk


 



RSS Текстовая версия Сейчас: 19.3.2024, 15:31
Дизайн