gpt4 book ai didi

php - 如何从html表单更新MySql中表字段的值?

转载 作者:行者123 更新时间:2023-11-29 14:19:52 24 4
gpt4 key购买 nike

过去两天我试图更新数据库中的表。但我无法让它发挥作用。有人请帮助我。我可以连接到我的数据库,完美地查看我的表字段。可以从目标 PHP 文件中完美读取表单中的发布值。MySQL 查询没有返回任何错误。但我不明白为什么这些值没有更新到表中。

//form.html

<form name="account" action="test.php" method="post">
<td align="left" valign="top" class="labelstyle" width="25%">First Name</td>
<td align="left" valign="top" class="labeltextstyle" width="75%"><input type="text" name="fname" value="" /></td>
<td align="left" valign="top" class="labelstyle" width="25%">Last Name</td>
<td align="left" valign="top" class="labeltextstyle" width="75%"><input type="text" name="lname" value="" /></td>
<td align="left" valign="top" class="labelstyle" width="25%">Email</td>
<td align="left" valign="top" class="labeltextstyle" width="75%"><input type="text" name="email" value="" /></td>


<td align="left" valign="top" class="labeltextstyle"><input type="submit" name="submit" value="Save" /></td>

</form>

// test.php
<?php

$dbhost = "localhost";
$dbname = "test";
$dbuser = "";
$dbpass = "";

mysql_connect ( $dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error());
mysql_select_db($dbname) or die(mysql_error());

session_start();
if(isset($_REQUEST['submit'])){

// $query = "select * from form";
// $result = mysql_query($query);
// $numcolumn = mysql_num_fields($result);
// for ( $i = 0; $i < $numcolumn; $i++ ) {
// $columnnames = mysql_field_name($result, $i);
// echo $columnnames;
// }


$fname = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];

echo $fname ;
echo $lname ;
echo $email ;

$query = "update test set
fname = $fname,
lname = $lname,
email = $email
where 1 ";

$result = mysql_query($query);

if ($query = 1) {

echo "IT WORKED";

} else {
echo "DIDNT WORK";
}
}else{
echo "NOT SUBMITTED";
}

?>

//form.html

<form name="account" action="test.php" method="post">
<td align="left" valign="top" class="labelstyle" width="25%">First Name</td>
<td align="left" valign="top" class="labeltextstyle" width="75%"><input type="text" name="fname" value="" /></td>
<td align="left" valign="top" class="labelstyle" width="25%">Last Name</td>
<td align="left" valign="top" class="labeltextstyle" width="75%"><input type="text" name="lname" value="" /></td>
<td align="left" valign="top" class="labelstyle" width="25%">Email</td>
<td align="left" valign="top" class="labeltextstyle" width="75%"><input type="text" name="email" value="" /></td>


<td align="left" valign="top" class="labeltextstyle"><input type="submit" name="submit" value="Save" /></td>

</form>

当我在表单中填写值 A、B 和 C 并提交表单时,我得到以下输出。

fnamelnameemailABCIT 已成功

请尽快帮助我。

最佳答案

where 子句中没有 id 来指示必须更新哪一行。这将更新表中的所有行。它应该看起来像这样:

 $query = "update test set
fname = $fname,
lname = $lname,
email = $email
where id = 1";

我假设预先创建了一行,以便您知道要更新哪一行。如果不是,那么应该使用 INSERT 语句。

$query = "insert into test (fname,lname,email) VALUES ($fname,$lname,$email);

关于php - 如何从html表单更新MySql中表字段的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11922161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com