[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка в запросе
maximyn
	$email = mysql_escape_string($_POST['email']);

$query2 = "UPDATE email SET email='".$email."' WHERE id=".$_GET['id'];

$r2 = mysql_query ( $query2 ) or die(mysql_error());


Пишет следующие:
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 1

Кто знает в чем баг.



Спустя 1 минута, 26 секунд (11.11.2010 - 15:29) DmitryOpalev написал(а):
Может в кавычки надо поставить?...
А лучше сделай переменную
$email = $_POST['emal'];

Спустя 2 минуты, 16 секунд (11.11.2010 - 15:31) maximyn написал(а):
DmitryOpalev
Ошибка та же, ни чего не изменилось

Спустя 1 минута, 34 секунды (11.11.2010 - 15:33) DmitryOpalev написал(а):
$query2 = "UPDATE email SET email='".$email."' WHERE id=".$_GET['id'];

Вот тут вроде не закрыто...
И еще... лично для меня... проще все эти $_GET и $_POST совать в переменные, чтоб потом не мучатся с точками и кавычками...
Вот (если делать, как я предложил):
$email = $_POST['emal'];
$id = $_GET['id'];
$query2 = "UPDATE email SET email='$email' WHERE id='$id' ";

P.S. $_POST['emal']; - тут точно буква не пропущена?

Спустя 7 минут, 56 секунд (11.11.2010 - 15:41) maximyn написал(а):
DmitryOpalev

	$email = $_POST['email'];
$id = $_GET['id'];
$query2 = "UPDATE email SET email='$email' WHERE id='$id'";

$r2 = mysql_query ( $query2 ) or die(mysql_error());


Ошибка не исчезла, но ни чего теперь не пишет.

Спустя 27 минут, 18 секунд (11.11.2010 - 16:08) DmitryOpalev написал(а):
Цитата
mysql_query ( $query2 )
В кавычки... вроде... а как ты понимаешь,, что ошибка есть?

Спустя 4 минуты, 43 секунды (11.11.2010 - 16:13) Nikitian написал(а):

$email = mysql_escape_string($_POST['emal']);
$id = mysql_escape_string($_GET['id']);
$query2 = "UPDATE `email` SET email='".$email."' WHERE id='".$id."' ";
mysql_query($query2);
if(mysql_errno())echo mysql_error();
else echo'Запрос прошёл успешно';

У вас точно есть такая таблица email?

Спустя 13 минут, 42 секунды (11.11.2010 - 16:27) linker написал(а):
$_GET['id'] пустое значение, поле id - целочисленное, а значит id = '' - есть ошибка
$id = isset($_GET['id']) ? (integer)$_GET['id'] : 0;

Спустя 2 минуты, 55 секунд (11.11.2010 - 16:30) maximyn написал(а):
Nikitian Не обновляется sad.gif

Спустя 1 минута, 21 секунда (11.11.2010 - 16:31) sergeiss написал(а):
Я вот смотрю и не пойму... Использование одновременно POST и GET - это так и задумано???

Спустя 2 минуты, 56 секунд (11.11.2010 - 16:34) Nikitian написал(а):
maximyn
Посмотрите какие данные приходят в скрипт и проверьте есть ли запись с таким id.
sergeiss
Довольно часто используется. Самый простой пример: mod_rewrite, где часть данных передаётся гетом, часть постом

Спустя 11 минут, 49 секунд (11.11.2010 - 16:46) maximyn написал(а):
Nikitian
Это редактирование данных. В скрипт приходят правильные данные, он не может их перезаписать в БД.

Спустя 14 минут, 8 секунд (11.11.2010 - 17:00) maximyn написал(а):
linker
Обрисую ситуацию: таблица из двух данных id и email
ВВод

echo '<table width="100%" border="0" cellspacing="10" cellpadding="0">
<tr>
<td width="30%" valign="top">'
;

$query = 'SELECT id, email FROM email';
$res = mysql_query( $query );
echo '<table border="1" cellpadding="2" cellspacing="0">';
echo '<tr><th>ID</th><th>E-mail</th>';

while ($email = mysql_fetch_array( $res ))
{
echo '<tr>';
echo '<td>'.$email['id'].'</td>';
echo '<td>'.$email['email'].'</td>';

echo '<td><a href="'.$_SERVER['PHP_SELF'].'?page=email&action=edit&id='.$email['id'].'">Ред.</a></td>';
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?page=email&action=delete&id='.$email['id'].'">Удл.</a></td>';
echo '</tr>';
}
echo '</table>';



Редактирования данных со скрипта на файл приходят те данные что ввел. А вот обновляться они не хотят

function editor()
{
$mail = mysql_escape_string($_POST['mail']);

$id = isset($_GET['id']) ? (integer)$_GET['id'] : 0;
$query2 = "UPDATE `email` SET email='".$email."' WHERE id='".$id."' ";
mysql_query($query2);
if(mysql_errno())echo mysql_error();
else echo'Запрос прошёл успешно';
}

Спустя 2 минуты, 25 секунд (11.11.2010 - 17:02) linker написал(а):
А причем здесь $_POST? Определись, либо $_POST, либо $_GET. Либо все вместе $_REQUEST.

Спустя 16 секунд (11.11.2010 - 17:02) sergeiss написал(а):
Цитата (Nikitian @ 11.11.2010 - 17:34)
Довольно часто используется.

Это я понимаю... И даже у меня тоже кое-где так делается... Вот только когда человек "заблудился в 3-х соснах", то он может и попутать случайно.

Спустя 47 минут, 47 секунд (11.11.2010 - 17:50) DmitryOpalev написал(а):
А у меня и POST и GET вместе прекрасно работают rolleyes.gif

Спустя 20 минут, 34 секунды (11.11.2010 - 18:11) inpost написал(а):
В данном примере кажется, что человек зафейлил, и написал $_GET вместо $_POST, хотя были случаи и я совмещал эти 2 параметра =)

Спустя 54 минуты, 57 секунд (11.11.2010 - 19:06) pas написал(а):
maximyn,
Запостите сюда, пожалуйста, содержимое переменной $query2 перед выполенением функции mysql_query ()

Спустя 1 час, 18 минут, 19 секунд (11.11.2010 - 20:24) sergeiss написал(а):
Процитирую сам себя: ;)
Цитата (sergeiss @ 11.11.2010 - 18:02)
Вот только когда человек "заблудился в 3-х соснах", то он может и попутать случайно.

Я все-таки утверждаю, что он именно заблудился тут. Видно это отсюда:

echo '<td><a href="'.$_SERVER['PHP_SELF'].'?page=email&action=edit&id='.$email['id'].'">Ред.</a></td>';
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?page=email&action=delete&id='.$email['id'].'">Удл.</a></td>';

На принимающей стороне будут только GET-параметры, и индексы у них будут 'page', 'action' и 'id'. Никакие е-мейлов не будет!!! Это 'page' может иметь величину 'email', но это вовсе не то же самое, что индекс у массива GET.
Быстрый ответ:

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