So I am trying to update a database field using a html form and some PHP code, but I cannot get it to work, it throws no errors but does not update the field?, Im not sure if its because im also echoing that field on the webpage? All it seems to do is print the fail message.
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";} ?>
My echo (working):
<?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 query sample but i don't get your sql ..you missing your
where
clauseYou need to use
WHERE
Condition whenever you try to update something to table.Here's my code :
test.html
updateform.php
To demonstrate I've created a database & table
test_table
with 3 field. (id,name,cost)This is the structure of my table :
Before executing the above script, our table contains this datas
After executing the script, the name in second row changes from
ramu
toshiva
since we specifiedcost
as 500 inWHERE
Condition.