|
|
|
| Ошибка при добавлении данных - 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 '' at line 8
помогите плиз найти ошибку, попробывал сделать скрипт правки данных в БД на основе системы регистрации из книги MySQL 5
сам скрипт:
<?
require_once("../config.php");
$query = "SELECT * FROM client
WHERE id_client=".$_GET['id_client'];
$clt = mysql_query($query);
if (!$clt) puterror("Ошибка при исправлении продукции");
$client = mysql_fetch_array($clt);
$name = $client['name'];
$rek = $client['rek'];
$tel = $client['tel'];
$manager = $client['manager'];
$email = $client['email'];
$url = $client['url'];
?>
<table>
<form method=post>
<tr><td>Контора:</td><td><input type=text name=name value='<?php echo $name; ?>'></td></tr>
<tr><td>Реквизиты:</td><td><input type=text name=rek value='<?php echo $rek; ?>'></td></tr>
<tr><td>Телефон:</td><td><input type=text name=tel value='<?php echo $tel; ?>'></td></tr>
<tr><td>Ведущий менеджер:</td><td><input type=text name=manager value='<?php echo $manager; ?>'></td></tr>
<tr><td>e-mail:</td><td><input type=text name=email value='<?php echo $email; ?>'></td></tr>
<tr><td>URL:</td><td><input type=text name=url value='<?php echo $url; ?>'></td></tr>
<tr><td></td><td><input type=submit value='Изменить'></td></tr>
</form>
</table>
<?php
/////////////////////////////////////////////////
// Формируем и выполняем SQL-запрос на
// изменение клиента
$query = "UPDATE client SET
name='".$_POST['name']."',
rek='".$_POST['rek']."',
tel='".$_POST['tel']."',
manager='".$_POST['manager']."',
email='".$_POST['email']."',
url='".$_POST['url']."'
WHERE id_client=".$_POST['id_client'];
if(mysql_query($query))
{
// Осуществляем перезагрузку страницы,
// чтобы сбросить POST-данные
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=$_SERVER[PHP_SELF]'>
</HEAD></HTML>";
} else exit("Ошибка при добавлении данных - ".mysql_error());
?>
|
| |
|
|
|
|
|
|
|
для: DreadfulS
(24.10.2006 в 19:06)
| | сори не в тот форум написал | |
|
|
|
|
|
|
|
для: DreadfulS
(24.10.2006 в 19:06)
| | Выведите сам запрос, т.е. вместо
<?php
} else exit("Ошибка при добавлении данных - ".mysql_error());
?>
|
напишите
<?php
} else exit("Ошибка при добавлении данных - ".mysql_error()."<br>".$query);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(24.10.2006 в 20:08)
| | Ошибка при добавлении данных - 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 '' at line 8
UPDATE client SET name='', rek='', tel='', manager='', email='', url='' WHERE id_client= | |
|
|
|
|
|
|
|
для: DreadfulS
(24.10.2006 в 20:12)
| | У вас не передаются POST-данные и это нормально, так как если обработчик помещают в том же файле, что и HTML-форму, то схема построения скрипта применяется обычно следующая.
<?
require_once("../config.php");
if(!empty($_POST))
{
/////////////////////////////////////////////////
// Формируем и выполняем SQL-запрос на
// изменение клиента
$query = "UPDATE client SET
name='".$_POST['name']."',
rek='".$_POST['rek']."',
tel='".$_POST['tel']."',
manager='".$_POST['manager']."',
email='".$_POST['email']."',
url='".$_POST['url']."'
WHERE id_client=".$_POST['id_client'];
if(mysql_query($query))
{
// Осуществляем перезагрузку страницы,
// чтобы сбросить POST-данные
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=$_SERVER[PHP_SELF]'>
</HEAD></HTML>";
exit();
} else exit("Ошибка при добавлении данных - ".mysql_error());
}
$query = "SELECT * FROM client
WHERE id_client=".$_GET['id_client'];
$clt = mysql_query($query);
if (!$clt) puterror("Ошибка при исправлении продукции");
$client = mysql_fetch_array($clt);
$name = $client['name'];
$rek = $client['rek'];
$tel = $client['tel'];
$manager = $client['manager'];
$email = $client['email'];
$url = $client['url'];
?>
<table>
<form method=post>
<tr><td>Контора:</td><td><input type=text name=name value='<?php echo $name; ?>'></td></tr>
<tr><td>Реквизиты:</td><td><input type=text name=rek value='<?php echo $rek; ?>'></td></tr>
<tr><td>Телефон:</td><td><input type=text name=tel value='<?php echo $tel; ?>'></td></tr>
<tr><td>Ведущий менеджер:</td><td><input type=text name=manager value='<?php echo $manager; ?>'></td></tr>
<tr><td>e-mail:</td><td><input type=text name=email value='<?php echo $email; ?>'></td></tr>
<tr><td>URL:</td><td><input type=text name=url value='<?php echo $url; ?>'></td></tr>
<tr><td></td><td><input type=submit value='Изменить'></td></tr>
</form>
</table>
|
| |
|
|
|
|
|
|
|
для: cheops
(24.10.2006 в 20:18)
| | хм... теперь совсем запутался, выдаёт чистый лист без ошибок
кстати вопрос синтаксиса при правке БД в связке с PHP в книге MySQL5 не освещён:(
где об этом можно почитать, желательно в нете? есть все Ваши книги кроме последней, но нет возможности сейчас их полистать. | |
|
|
|
|
|
|
|
для: DreadfulS
(24.10.2006 в 20:47)
| | Я забыл открывающую фигурную скобку в третей строке (поправил пост - возьмите скрипт по новой). | |
|
|
|
|
|
|
|
для: DreadfulS
(24.10.2006 в 20:47)
| | В книгах посвящённых MySQL мы сосредотачивались в основном на SQL-синтаксисе, вопросы взаимодействия MySQL и PHP подробно освещаются в наших предыдущих книгах, например, в "PHP 5. Практика создания Web-сайтов". | |
|
|
|
|
|
|
|
для: cheops
(24.10.2006 в 21:52)
| | угу, есть такая, спасибо:) | |
|
|
|
|
|
|
|
для: DreadfulS
(24.10.2006 в 22:14)
| | Ошибка при добавлении данных - 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 '' at line 8 | |
|
|
|
|
|
|
|
для: DreadfulS
(24.10.2006 в 22:16)
| | Вывод SQL-запроса опять показывает что поля пустые? | |
|
|
|
|
|
|
|
для: cheops
(24.10.2006 в 22:30)
| | раньше выводил это с формой, теперь и формы нет, только ошибка на пустой странице | |
|
|
|
|
|
|
|
для: DreadfulS
(24.10.2006 в 22:46)
| | Выключите бразуер и загрузите скрипт по-новой, возможно у вас остались не сброшенные POST-данные. Если не помогает посмотрите что находится в массиве $_POST
<?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(25.10.2006 в 00:27)
| | выдаёт
Array
(
)
теперь данные меняет, но выдаёт :
Ошибка при исправлении продукции | |
|
|
|
|
|
|
|
для: DreadfulS
(25.10.2006 в 01:00)
| | заработало, Всем спасибо:)
достаточно было поменять рефреш с
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=$_SERVER[PHP_SELF]'>
|
на
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=editclient.php?id_client=".$_POST['id_client']."'>
|
| |
|
|
|
|
|
|
|
для: DreadfulS
(24.10.2006 в 22:16)
| | напрашивается
<input type=hidden name=id_client value="<?= $_GET['id_client'] ?>" />
|
где-то среди формы. | |
|
|
|
|
|
|
|
для: Trianon
(25.10.2006 в 00:05)
| | и это к сожалению тоже не помогло | |
|
|
|