[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обновление данных в БД
plumli
Здравствуйте, написал небольшой скрипт редактирования данных в БД через формы, скрипт срабатывает, но данные в бд почему-то не обновляет, подскажите пожалуйста в чем проблема?

<?php
require_once ('connectdb.php');
require_once('startsession.php');
$id = (int)$_GET['id'];
$dbc = mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die ('сбой подключения');
$query = "SELECT * FROM serials WHERE id='$id'";
$data = mysqli_query($dbc, $query);
$row = mysqli_fetch_array($data);

?>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>">
<
table id="edit_table"><tr><td>
<
label for="edit_serial_name">Назване сериала</label></td><td>
<
input type="text" name="edit_serial_name" value="<?php echo $row['serial_name']; ?>"/></td></tr>
<
tr><td>
<
label for="edit_quant_sezon">Количество сезонов</label></td><td>
<
input type="text" name="edit_quant_sezon" value="<?php echo $row['quant_sezon']; ?>"/> </td></tr>
<
tr><td>
<
label for="edit_about_serial">Описание сериала</label></td><td>
<
textarea type="text" size="120" name="edit_about_serial" MAXLENGTH="10000" rows="30" cols="95"><?php echo $row['about_serial']; ?></textarea> </td></tr>
<
tr><td>&nbsp</td><td><input type="submit" value="Сохранить" name="submit"></td></tr>
</
table>

</
form>
<?php

if (isset($_POST['submit'])) {
$edit_serial_name = $_POST['edit_serial_name'];
$edit_quant_sezon = $_POST['edit_quant_sezon'];
$edit_about_serial = $_POST['edit_about_serial'];
if (!empty($edit_serial_name) && !empty($edit_quant_sezon)) {
$query = "UPDATE serials SET serial_name = '$edit_serial_name', " . " quant_sezon = '$edit_quant_sezon', " . "about_serial = '$edit_about_serial' WHERE id='$id'";
mysqli_query ($dbc, $query) or die ('ошибка записи');
echo 'Данные обновлены!';
}
else {
echo 'Не оставляйте поля Название сериала и Количество сезонов не заполнеными';
}
}

else {
echo ('Для сохранения данных нажмите на кнопку "Сохранить"');
}
mysqli_close($dbc);
?>




Спустя 1 час, 52 минуты, 21 секунда (28.07.2011 - 17:55) YVSIK написал(а):
так будет лучше и ещё половину скобок надо убрать вот смотрим тут!! и исправляем тут куча ошибок то есть ненужный знак то нет того что должно быть
Свернутый текст
<?php 
require_once ('connectdb.php');
require_once ('startsession.php');
$id = (int)$_GET['id'];
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSW or D, DB_NAME) or die('сбой подключения');
$query = "SELECT * FROM serials WHERE id='$id'";
$data = mysqli_query($dbc, $query);
$row = mysqli_fetch_array($data);
?>
<?php

if(isset($_POST['submit']))
{
$edit_serial_name = $_POST['edit_serial_name'];
$edit_quant_sezon = $_POST['edit_quant_sezon'];
$edit_about_serial = $_POST['edit_about_serial'];

if(!empty($edit_serial_name) && !empty($edit_quant_sezon))
{
$query = "UPDATE serials SET serial_name = '$edit_serial_name', "." quant_sezon = '$edit_quant_sezon', "."about_serial = '$edit_about_serial' WHERE id='$id'";
mysqli_query($dbc, $query) or die('ошибка записи');
echo 'Данные обновлены!';
}
else
{
echo 'Не оставляйте поля Название сериала и Количество сезонов не заполнеными';
}
}

else
{
echo ('Для сохранения данных нажмите на кнопку "Сохранить"');
}
mysqli_close($dbc);
?>

вот как пример))
 require_once ('connectdb.php');
require_once ('startsession.php');
/*
ЗАЧЕМ ОНИ ТУТ????????? ВОТ ТАК ЕЩЁ ЛУЧШЕ !!
*/

require_once 'connectdb.php';
require_once 'startsession.php';

Спустя 6 минут, 32 секунды (28.07.2011 - 18:01) VolDroN написал(а):
оО, а какая разница?) Да и от этого записи обновляться не будут ((:

а что выводит при добавлении, ошибку?

Спустя 2 минуты, 13 секунд (28.07.2011 - 18:04) Winston написал(а):
Какой-то у тебя запрос не красивый, попробуй так написать
$query = "UPDATE `serials` 
SET `serial_name` = '"
. $edit_serial_name . "',
`quant_sezon` = '"
. $edit_quant_sezon . "',
`about_serial` = '"
. $edit_about_serial . "'
WHERE `id` = '"
. $id . "'";

И
Цитата (plumli @ 28.07.2011 - 16:02)
mysqli_query ($dbc, $query) or die ('ошибка записи');

На время тестирования советую писать так
mysqli_query ($dbc, $query) or die ('ошибка записи<br/>' . mysql_error() . '<br/>' . mysql_errno());

Спустя 4 минуты, 29 секунд (28.07.2011 - 18:08) YVSIK написал(а):
PHPprogrammer biggrin.gif

VolDroN mad.gif разница?===разница! есть!!! бардака не будет ни в в коде не в голове tongue.gif

Спустя 2 часа, 55 минут, 48 секунд (28.07.2011 - 21:04) ИНСИ написал(а):
YVSIK
Цитата
require_once ('connectdb.php');
require_once ('startsession.php');
/*
ЗАЧЕМ ОНИ ТУТ????????? ВОТ ТАК ЕЩЁ ЛУЧШЕ !!
*/
require_once 'connectdb.php';
require_once 'startsession.php';

Нет разницы, со скобками ты пишешь или без. И зачем ты в предложениях используешь воскл. знак? Хочешь чтобы люди обратили внимание на твои утверждения?

Спустя 1 день, 5 минут, 30 секунд (29.07.2011 - 21:09) plumli написал(а):
решение нашел - нужно было вместе с формой передать id
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.