Intereting Posts
Экспорт файла excel с использованием PHPExcel, работающего на моем локальном компьютере, но не работающего на реальном сервере fopen не работает на моем сервере как получить отсортированный результат в запросе mysql? Недействительный кешированный контент, If-Modified Headers? Страница регистрации: сохранение пароля с использованием PHPASS Почему тело ответа HTTP содержит «2fb» в начале? Как читать этот JSON с помощью PHP? GAPI: не удалось аутентифицировать пользователя. Постоянное исправление PHP Автоматическое обновление этого столбца после 24:00 (0.00 AM) с помощью PHP? Как я могу использовать разрешение «manage_pages» с SDK на Facebook? Как отобразить Json Data в пользовательском интерфейсе автозаполнения JQuery? Активация модели плагина не работает в cakephp 2.3 с помощью ACL для торта Как разделить DATE и TIME из DATETIME в MySQL Как удалить файл include? Не предоставляйте никому доступа в каталоге .htaccess

Обновить запрос PHP MySQL

Может кто-нибудь помочь мне понять, почему этот запрос обновления не обновляет поля в моей базе данных? У меня есть на моей странице php для извлечения текущих значений из базы данных:

<?php $query = mysql_query ("SELECT * FROM blogEntry WHERE username = 'bobjones' ORDER BY id DESC"); while ($row = mysql_fetch_array ($query)) { $id = $row['id']; $username = $row['username']; $title = $row['title']; $date = $row['date']; $category = $row['category']; $content = $row['content']; ?> 

Вот моя форма HTML:

 <form method="post" action="editblogscript.php"> ID: <input type="text" name="id" value="<?php echo $id; ?>" /><br /> Username: <input type="text" name="username" value="<?php echo $_SESSION['username']; ?>" /><br /> Title: <input type="text" name="udtitle" value="<?php echo $title; ?>"/><br /> Date: <input type="text" name="date" value="<?php echo $date; ?>"/><br /> Message: <textarea name = "udcontent" cols="45" rows="5"><?php echo $content; ?></textarea><br /> <input type= "submit" name = "edit" value="Edit!"> </form> 

и вот мой «editblogscript»:

 <?php mysql_connect ("localhost", "root", ""); mysql_select_db("blogass"); if (isset($_POST['edit'])) { $id = $_POST['id']; $udtitle = $_POST['udtitle']; $udcontent = $_POST['udcontent']; mysql_query("UPDATE blogEntry SET content = $udcontent, title = $udtitle WHERE id = $id"); } header( 'Location: index.php' ) ; ?> 

Я не понимаю, почему это не работает.

Вы должны иметь одинарные кавычки вокруг любого содержимого VARCHAR в ваших запросах. Поэтому ваш запрос на обновление должен быть:

 mysql_query("UPDATE blogEntry SET content = '$udcontent', title = '$udtitle' WHERE id = $id"); 

Кроме того, это плохая форма для обновления базы данных напрямую с помощью контента из POST. Вы должны дезинфицировать входящие данные с помощью функции mysql_real_escape_string.

Не зная, какова фактическая ошибка, которую вы получаете, я бы догадался, что у нее отсутствуют котировки. попробуйте следующее:

 mysql_query("UPDATE blogEntry SET content = '$udcontent', title = '$udtitle' WHERE id = '$id'") 

Здесь я обновил две переменные и дату и время

$ id = "1";
$ title = "phpmyadmin";

  $sql= mysql_query("UPDATE table_name SET id ='".$id."', title = '".$title."',now() WHERE id = '".$id."' "); 

now () обновляет текущую дату и время.

 note: For update query we have define the particular id otherwise it update whole table defaulty 

Нужно добавить цитату для использования точечного оператора:

 mysql_query("UPDATE blogEntry SET content = '".$udcontent."', title = '".$udtitle."' WHERE id = '".$id."'"); 

Во-первых, вы должны определить, что «не работает».
Во-вторых, я предполагаю, что ваше поле «content» вашего поля является varchar / text, поэтому вам нужно заключить его в кавычки. content = '{$content}'
И последнее, но не менее важное: использовать echo mysql_error() непосредственно после запроса для отладки.

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

 mysql_query("UPDATE blogEntry SET content ='".$udcontent."', title = '".$udtitle."' WHERE id = '".$id."' "); 

Обновить строку или столбец таблицы

 $update = "UPDATE daily_patients SET queue_status = 'pending' WHERE doctor_id = $room_no and serial_number= $serial_num"; if ($con->query($update) === TRUE) { echo "Record updated successfully"; } else { echo "Error updating record: " . $con->error; }