$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 Не обновляется

Спустя 1 минута, 21 секунда (11.11.2010 - 16:31) sergeiss написал(а):
Я вот смотрю и не пойму... Использование одновременно POST и GET - это так и задумано???
Спустя 2 минуты, 56 секунд (11.11.2010 - 16:34) Nikitian написал(а):
maximyn
Посмотрите какие данные приходят в скрипт и проверьте есть ли запись с таким id.
sergeiss
Довольно часто используется. Самый простой пример: mod_rewrite, где часть данных передаётся гетом, часть постом
Посмотрите какие данные приходят в скрипт и проверьте есть ли запись с таким id.
sergeiss
Довольно часто используется. Самый простой пример: mod_rewrite, где часть данных передаётся гетом, часть постом
Спустя 11 минут, 49 секунд (11.11.2010 - 16:46) maximyn написал(а):
Nikitian
Это редактирование данных. В скрипт приходят правильные данные, он не может их перезаписать в БД.
Это редактирование данных. В скрипт приходят правильные данные, он не может их перезаписать в БД.
Спустя 14 минут, 8 секунд (11.11.2010 - 17:00) maximyn написал(а):
linker
Обрисую ситуацию: таблица из двух данных id и email
ВВод
Редактирования данных со скрипта на файл приходят те данные что ввел. А вот обновляться они не хотят
Обрисую ситуацию: таблица из двух данных 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 вместе прекрасно работают

Спустя 20 минут, 34 секунды (11.11.2010 - 18:11) inpost написал(а):
В данном примере кажется, что человек зафейлил, и написал $_GET вместо $_POST, хотя были случаи и я совмещал эти 2 параметра =)
Спустя 54 минуты, 57 секунд (11.11.2010 - 19:06) pas написал(а):
maximyn,
Запостите сюда, пожалуйста, содержимое переменной $query2 перед выполенением функции mysql_query ()
Запостите сюда, пожалуйста, содержимое переменной $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.