Поэтому я пытаюсь обновить поле базы данных с использованием html-формы и некоторого PHP-кода, но я не могу заставить его работать, он не выдает никаких ошибок, но не обновляет поле ?, Im не уверен, что из-за того, что im также повторяет это поле на веб-страница? Все, что кажется, это распечатать сообщение об ошибке.
HTML:
<html> <form method="post" name="update" action="updateform.php" /> Description: <input type="text" name="description" /> <input type="submit" name="Submit" Value="update" /> </form> </html>
PHP:
<?php mysql_connect("localhost", "root", "*****") or die("Connection Failed"); mysql_select_db("Days")or die("Connection Failed"); $description = $_POST['description']; $query = "UPDATE test SET description = '$description' "; if(mysql_query($query)){ echo "updated";} else{ echo "fail";} ?>
Мое эхо (работа):
<?php include("include/session.php"); //connect to the server $connect = mysql_connect("localhost","root","*****"); //connect to the database mysql_select_db("days"); //query the database $query = mysql_query("SELECT * FROM hobby WHERE id = '1' "); //ferch the results / convert results into an array WHILE($rows = mysql_fetch_array($query)): $description = $rows['description']; echo "<div style ='font:15px/21px Arial,tahoma,sans-serif;color:#cf5c3f </h>'>$description"; endwhile; ?>
в<?php include("include/session.php"); //connect to the server $connect = mysql_connect("localhost","root","*****"); //connect to the database mysql_select_db("days"); //query the database $query = mysql_query("SELECT * FROM hobby WHERE id = '1' "); //ferch the results / convert results into an array WHILE($rows = mysql_fetch_array($query)): $description = $rows['description']; echo "<div style ='font:15px/21px Arial,tahoma,sans-serif;color:#cf5c3f </h>'>$description"; endwhile; ?>
в<?php include("include/session.php"); //connect to the server $connect = mysql_connect("localhost","root","*****"); //connect to the database mysql_select_db("days"); //query the database $query = mysql_query("SELECT * FROM hobby WHERE id = '1' "); //ferch the results / convert results into an array WHILE($rows = mysql_fetch_array($query)): $description = $rows['description']; echo "<div style ='font:15px/21px Arial,tahoma,sans-serif;color:#cf5c3f </h>'>$description"; endwhile; ?>
UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value
Обновите образец запроса, но я не получаю ваш sql ..you отсутствует ваш where
Вы должны использовать условие WHERE
когда вы пытаетесь что-то обновить в таблице.
Вот мой код:
test.html
<html> <form method="post" action="updateform.php" /> Name : <input type="text" name="name" /> </br> <input type="submit" name="Submit" value="update" /> </form> </html>
updateform.php
<?php $name = $_POST['name']; $connection = mysqli_connect("localhost", "root", "Enter Passwd Here","Enter db_name here"); if(mysqli_connect_errno()) { echo "failed to connect " . mysqli_connect_error(); } if(isset($_POST['Submit'])) { $query = "UPDATE `test_table` SET `name` = '$name' WHERE `cost` = 500"; $result = mysqli_query($connection,$query); if (!$result) { die('Error' . mysqli_error($connection)); } else { echo "Successfully updated"; } } ?>
Чтобы продемонстрировать, я создал базу данных и таблицу test_table
с 3-мя полями. (Идентификатор, название, стоимость)
Это структура моей таблицы:
Перед выполнением вышеуказанного скрипта наша таблица содержит эти данные
После выполнения скрипта имя во второй строке изменяется от ramu
до shiva
так как мы указали cost
500 в WHERE
Condition.
$query = "UPDATE `test_table` SET `name` = '$name' WHERE `cost` = 500";