PHP和MYSQL:当我编辑和更新数据库时,只有第一列会更新
我在mysql中有以下列:PHP和MYSQL:当我编辑和更新数据库时,只有第一列会更新,php,mysql,html,Php,Mysql,Html,我在mysql中有以下列: firstname, lastname,age,email,phone 当我更新时,说我有以下内容: John Doe 23 eee@yahoo.com 5555555555 但是,当我想编辑任何字段并将其提交给: Mike 0 就这样。有什么想法吗 这是我的edit.php <html> <body> <table> <?php include 'db.inc.php'; // Connect to MySQL DB
firstname, lastname,age,email,phone
当我更新时,说我有以下内容:
John Doe 23 eee@yahoo.com 5555555555
但是,当我想编辑任何字段并将其提交给:
Mike 0
就这样。有什么想法吗
这是我的edit.php
<html>
<body>
<table>
<?php
include 'db.inc.php';
// Connect to MySQL DBMS
if (!($connect = @ mysql_connect($hostName, $username,
$password))){
showerror();
}
// Use the food database
if (!mysql_select_db($databaseName, $connect)){
showerror();
}
$uid=$_GET[id];
$query=mysql_query("SELECT * FROM contact WHERE id='$uid'");
$row=mysql_fetch_array($query);
?>
<form method ="post" action="update.php">
<table>
<tr>
<td><input type="hidden" name="id" value="<?php echo "$row[id]"?>"></td>
</tr>
<tr>
<td>First Name:</td>
<td><input type="text" name="ud_firstname" value="<?php echo "$row[ud_firstname]"?>"></td>
</tr>
<tr>
<td>Last Name:</td>
<td><input type="text" name="ud_lastname" value="<?php echo"$row[ud_lastname]"?>"></td>
</tr>
<tr>
<td>Age:</td>
<td><input type="text" name="age" value="<?php echo"$row[ud_age]"?>"></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="email" value="<?php echo "$row[ud_email]" ?>"> </td>
</tr>
<tr>
<td>Phone Number:</td>
<td><input type="text" name="phone" value="<?php echo "$row[ud_phone]" ?>"> </td>
</tr>
<input type = "submit">
</table>
</form>
</body>
</html>
在update.php
中替换以下内容:
$ud_age = mysql_real_escape_string($_POST["age"]);
$ud_email = mysql_real_escape_string($_POST["email"]);
$ud_phone = mysql_real_escape_string($_POST["phone"]);
或
以下是您的表格:
<tr>
<td>Age:</td>
<td><input type="text" name="ud_age" value="<?php echo"$row[ud_age]"?>"></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="ud_email" value="<?php echo "$row[ud_email]" ?>"> </td>
</tr>
<tr>
<td>Phone Number:</td>
<td><input type="text" name="ud_phone" value="<?php echo "$row[ud_phone]" ?>"> </td>
</tr>
年龄:
我不太清楚你所描述的问题。是否更新了错误的记录?是否将正确的记录更新为错误的值?还有什么?您的表单是否发布了正确的值?放置print\u r($\u POST);退出()
在update.php
中的某个地方。它是正确的记录和正确的值,但它只更新第一个值,即firstname,然后将所有其他值设置为null。name=“age”
!=<代码>$\u POST[“ud\u age”]
。POST
的索引需要与元素的名称匹配。与电子邮件
和电话
相同。如果error reporting为on.LePhleg,您应该会收到未定义的索引通知-我这样做了,现在它显示了名字和姓氏,但没有显示其他字段。
<tr>
<td>Age:</td>
<td><input type="text" name="ud_age" value="<?php echo"$row[ud_age]"?>"></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="ud_email" value="<?php echo "$row[ud_email]" ?>"> </td>
</tr>
<tr>
<td>Phone Number:</td>
<td><input type="text" name="ud_phone" value="<?php echo "$row[ud_phone]" ?>"> </td>
</tr>