Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version

Сообщения:  [1-10]   [11-13] 

 
 автор: sim5   (30.09.2007 в 14:59)   письмо автору
 
   для: Dizels   (30.09.2007 в 14:54)
 

Ну юморист!))
Первая строка - $query_pynkt = "INSERT INTO pynkt VALUES...., это не запрос, это только параметры запроса, запрос происходит функцией mysql_query($query_pynkt), где в качестве аргумента передается ваша строка параметров - $query_pynkt.
Далее, вы перенаправление делали за счет мета-тегов, а гораздо лучше сделать это хидером:
header("Location: URL-адрес");
Читайте мануал.)

   
 
 автор: Dizels   (30.09.2007 в 14:54)   письмо автору
 
   для: sim5   (30.09.2007 в 14:49)
 

Ок, все получилось, спасибо большое!

P.S. исключительно для себя - я так и не понял чем ваш последний запрос:

$query_pynkt = "INSERT INTO pynkt VALUES( NULL, '$name', $statys, $raion)";  
if(mysql_query($query_pynkt)) header("Location: index.php");

отличается от того, который в начале я делал, у вас вроде тоже получается запрос, а потом еще один запрос при проверки добавилась инфа или нет.

   
 
 автор: sim5   (30.09.2007 в 14:49)   письмо автору
 
   для: Dizels   (30.09.2007 в 14:44)
 

Напишите лучше так:

<?
$query_pynkt 
"INSERT INTO pynkt VALUES( NULL, '$name', $statys$raion)"
if(
mysql_query($query_pynkt)) header("Location: index.php");
 else 
//ваш код вывода ошибки

   
 
 автор: Dizels   (30.09.2007 в 14:44)   письмо автору
 
   для: sim5   (30.09.2007 в 14:28)
 

Ок, тогда запись будет вот такая:

mysql_query("INSERT INTO pynkt (`id_pynkt`,`name`,`statys`,`id_raion`)VALUES(  NULL,  '$name', $statys, $raion)"); 


А как мне теперь сделать так, что если запись добавилась - то скрипт делал редирект на главную, а если ошибка какая, то соответственно выдавал ее.

   
 
 автор: sim5   (30.09.2007 в 14:28)   письмо автору
 
   для: Dizels   (30.09.2007 в 14:20)
 

mysql_query($query_pynkt) - это и будет запрос к базе, на основе переменной $query_pynkt, вы форимируя эту пременную уже делаете запрос, потом проверяя, еще раз запрос. Зачем это, составили строку запроса, затем делаете сам запрос, если это в условии происходит как у вас, то при удачном выполнении запроса произойдет запись в базу и будет возвращено TRUE, в противном случае FALSE - записи по тем или иным причинам не произошло.
Ну а про числовые переменные я сказал, запись может быть, но вы при этом будете получать сообщения.

   
 
 автор: Dizels   (30.09.2007 в 14:20)   письмо автору
 
   для: sim5   (30.09.2007 в 14:17)
 

Я так делаю, поскольку так написано в книге PHP 5 Практика создания web-сайтов, а именно по ней я и учусь. Да и собственно вроде все как надо - сначала добавляем, а потом проверяем добавилась запись или нет.

P.S. если я чего-то не догоняю - поясни на примере плз

   
 
 автор: sim5   (30.09.2007 в 14:17)   письмо автору
 
   для: Dizels   (30.09.2007 в 14:00)
 

Я уже однажды вас спрашивал - зачем вы дважды делаете запрос?

<?
$query_pynkt 
"INSERT INTO pynkt VALUES(
    NULL,  
    '
$name', 
    
$statys
    
$raion)"// это составили строку запроса, 
               //числовые переменные на надо!!! обрамлять в кавычки
if (mysql_query($query_pynkt))... //это сам запрос и проверка его выполнения

   
 
 автор: Dizels   (30.09.2007 в 14:00)   письмо автору
 
   для: Dizels   (30.09.2007 в 12:41)
 

Вопрос в силе :)

   
 
 автор: Dizels   (30.09.2007 в 12:41)   письмо автору
 
   для: cheops   (30.09.2007 в 02:37)
 

После исправления:

if(!$ath) echo $query;

Выдает: данный пункт уже есть в списке, хотя его явно нет, при этом город добавляется

Запрос добавления сейчас выглядит вот так:

// Добавляем новый пункт 

 $query_pynkt = mysql_query("INSERT INTO pynkt VALUES( 
    NULL, 
    '$name',
    '$statys',
    '$raion')");

if(mysql_query($query_pynkt))
{

echo "<HTML><HEAD>
            <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
            </HEAD></HTML>";

}
else 
echo mysql_error();

   
 
 автор: cheops   (30.09.2007 в 02:37)   письмо автору
 
   для: Dizels   (28.09.2007 в 16:53)
 

Попробуйте заменить строку
<?php
if(!$ath) echo mysql_error();
?>

следующим образом
<?php
if(!$ath) echo $query;
?>

Как теперь выглядит сообщение об ошибке?

   

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования