Я хочу обновить мою базу данных, и этот код работает хорошо в другой таблице, но здесь у меня есть ошибка, и я вижу это сообщение:
У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'WHERE
id
=' 588 '' в строке 4
- PHP PDO - отображение пароля при слишком большом количестве соединений
- Строгие стандарты: нестатический метод STemplate :: assign () не следует называть статически
- Передача параметров URL с помощью Jquery в php
- Отправка нескольких CC и BCC с помощью PHP PEAR MAIL
- Как я могу добавлять файлы cookie при использовании кука-печенья в CURL?
<?php $sel_item = "SELECT * FROM `employees` where id=".$_GET['emp_id']; $done_item = mysql_query($sel_item); $get_item = mysql_fetch_array($done_item); if(isset($_POST['edit']) ){ $upd= "UPDATE `employees` SET `emp_no`='".$_POST['name']."', WHERE `id`='".$_POST['id'].""; $do_upd = mysql_query($upd) or die(mysql_error()); } ?> <form action="" method="post" enctype="multipart/form-data"> <table class="append-row" width="100%" border="0" bgcolor="#006699" height="60px" align="left" style="padding:0 30px;"> <tr> <td><input type="text" name="name" id="name" placeholder="name" value="<? php echo $get_item['emp_no'];?>"></td> <input type="hidden" name="id" id="id" value="<?php echo $get_item['id'];?>" > <td><input type="submit" name="edit" id="edit" value="edite"></td> </tr> </table> </form>
Вам не хватает закрывающейся одинарной кавычки после $ _POST ['id'] в инструкции UPDATE, и у вас также есть запятая, которая вам не нужна до условия WHERE.
Пытаться:
$upd= "UPDATE `employees` SET `emp_no`='".$_POST['name']."' WHERE `id`='".$_POST['id']."'";
$upd= "UPDATE `employees` SET `emp_no`='".$_POST['name']."', WHERE `id`='".$_POST['id'].""; $do_upd = mysql_query($upd) or die(mysql_error());
Вы пропустили «это должно быть …
$upd= "UPDATE `employees` SET `emp_no`='".$_POST['name']."', WHERE `id`='".$_POST['id']."'";
Вам также не нужна запятая перед «ГДЕ»
Бросьте старую школу Mysql и используйте PDO, чтобы облегчить вам и вашей базе данных, но ваша проблема – это запятая перед WHERE
.
$sql = $pdo->prepare("UPDATE employees SET emp_no = ? WHERE id = ?"); $sql->execute(array($_POST['name'], $_POST['id']));
В качестве личного предпочтения вам НИКОГДА не следует использовать тильду `, чтобы окружать ваши предметы, если это не значит, что вы не используете ключевое слово, тогда вы, вероятно, должны переименовать свой столбец / таблицу / базу данных.
emp_no
= '". $ _ POST [' name ']."',
Запятая разбивает ваш SQL