[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: UPDATE MySQL
gorillaz
Подскажите в чем трабла?!

<?php
include("bd.php");
$tel=$_POST['tel'];
$tel = addslashes($tel);
$foto=$_POST['foto'];
$foto = addslashes($foto);
$mail=$_POST['mail'];
$mail = addslashes($mail);

$query="UPDATE `namecard` SET `tel` = '".$tel."', `foto` = '".$foto."', `email` = '".$mail."' WHERE `id` = ".$name." LIMIT 1";
$result=mysql_query($query);
if($result){
echo "Я может быть успею!";
}
?>




Спустя 10 минут, 16 секунд (21.05.2010 - 13:46) waldicom написал(а):
А что не работает и чему равна переменная $name?
Так же надо посмотреть, что выводит такой селект
$query="SELECT * FROM  `namecard` WHERE `id` = ".$name." LIMIT 1";


Для очистки совести напишите так:

$result=mysql_query($query) or die(mysql_error());

Спустя 3 минуты, 39 секунд (21.05.2010 - 13:50) SarPHP написал(а):
Мне вот тоже стало интересно. Не изложена проблема.


P.S.
$query="UPDATE `namecard` SET `tel` = '".$tel."', `foto` = '".$foto."', `email` = '".$mail."' WHERE `id` = `".$name."` LIMIT 1";

Может дело в том, что последний элемент не взят в `` ??

Спустя 1 минута, 3 секунды (21.05.2010 - 13:51) waldicom написал(а):
Цитата (SarPHP @ 21.05.2010 - 12:50)
Мне вот тоже стало интересно. Не изложена проблема.


P.S.
$query="UPDATE `namecard` SET `tel` = '".$tel."', `foto` = '".$foto."', `email` = '".$mail."' WHERE `id` = `".$name."` LIMIT 1";

Может дело в том, что последний элемент не взят в `` ??

Нет конечно, это было бы ошибкой, брать в обратные кавычки значение, а не имя поля.

Спустя 2 минуты, 28 секунд (21.05.2010 - 13:53) gorillaz написал(а):
$name приходит с предыдущей страницы (он равен id строчки, в которую надо добавить 3 столбца).
А вопрос в том, что он не работате... Не добавляет.
На счет ковычек.
UPDATE `namecard` SET `tel` = '45',
`foto` = '3',
`email` = 'f' WHERE `id` =72 LIMIT 1 ;

Этот пример я запросил в phpMyAdmin....

Спустя 1 минута, 19 секунд (21.05.2010 - 13:55) waldicom написал(а):
А он и не должен добавлять, он должен обновлять.
Может в базе нет такого значения, вот и не обновляет.

Вы такую строку ставили?
$result=mysql_query($query) or die(mysql_error());

Спустя 9 минут, 26 секунд (21.05.2010 - 14:04) gorillaz написал(а):
Значение точно есть, т.к. на предыдущей странице я выбираю сам строчку!

Выдает 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 'LIMIT 1' at line 1

Спустя 2 минуты, 10 секунд (21.05.2010 - 14:06) waldicom написал(а):
Цитата (gorillaz @ 21.05.2010 - 13:04)
Значение точно есть, т.к. на предыдущей странице я выбираю сам строчку!

Выдает 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 'LIMIT 1' at line 1

Вот, значит есть ошибка.
Выдайте переменную $query перед запросом
echo $query;

Спустя 7 минут, 59 секунд (21.05.2010 - 14:14) gorillaz написал(а):
Пустая

Спустя 1 час, 10 секунд (21.05.2010 - 15:14) waldicom написал(а):
Цитата (gorillaz @ 21.05.2010 - 13:14)
Пустая

Не, так не может быть.
Выполните следующий код (точнее заменить Ваш косок вот этим):

<?php
include("bd.php");
$tel=$_POST['tel'];
$tel = addslashes($tel);
$foto=$_POST['foto'];
$foto = addslashes($foto);
$mail=$_POST['mail'];
$mail = addslashes($mail);

$query="UPDATE `namecard` SET `tel` = '".$tel."', `foto` = '".$foto."', `email` = '".$mail."' WHERE `id` = ".$name." LIMIT 1";
echo 'query = ' . $query . '<br />';
$result=mysql_query($query) or die('error: ' . mysql_error());
if($result){
echo "Я может быть успею!";
}
?>


и напишите сюда, что он выводит

Спустя 7 минут, 19 секунд (21.05.2010 - 15:22) gorillaz написал(а):
Все, я понял! Спасибо большое!

Вы были правы, у меня hidden с $name не отправлялся!

Спустя 1 минута, 34 секунды (21.05.2010 - 15:23) waldicom написал(а):
Ну вот видите. Значит переменная $name все таки пустая.
Откуда она появляется в крипте?

Спустя 6 минут, 25 секунд (21.05.2010 - 15:30) Magikan написал(а):
Цитата (gorillaz @ 21.05.2010 - 10:36)
Подскажите в чем трабла?!

попробуйте так


<?php
include("bd.php");
$tel=$_POST['tel'];
$tel = addslashes($tel);
$foto=$_POST['foto'];
$foto = addslashes($foto);
$mail=$_POST['mail'];
$mail = addslashes($mail);

if(strlen($name)<1) $name='';

$query="UPDATE namecard as nc SET nc.tel = '".$tel."', nc.foto='".$foto."', nc.email='".$mail."' WHERE nc.id='".$name."'";
$result=mysql_query($query);
if($result){
echo "Я может быть успею!";
}
?>
Быстрый ответ:

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