好吧,所以我想让我的表单更新我的表来编辑联系人,但出于某种原因与0错误它只是不会更新,我只是不明白为什么因为它对我来说都很好。PHP使用表格的Mysql更新表不会更新
这里是编辑接触脚本
// Connect to database
$dbc = mysql_connect("localhost", "root");
if (!$dbc)
die("Could not connect: " . mysql_error());
// Select database
$db_select = mysql_select_db("contactmanager", $dbc);
if (!$db_select)
die("Could not select DB: " . mysql_error());
// Build update function for form
if(isset($_POST['update'])){
mysql_query("UPDATE contacts SET Name='$_POST[name]', Address='$_POST[address]', Phone='$_POST[phone]', Mobile='$_POST[mobile]', Email='$_POST[email]' WHERE ContactID = $contactID") or trigger_error(mysql_error());
echo 'Update has been pushed and fucntion has run';
} else {
echo 'Update has not been pushed.';
}
// initialize form control values
$name = '';
$address = '';
$phone = '';
$mobile = '';
$email = '';
// Get ID of contact selected for editing
$contactID = $_GET['id'];
// build sql select statement
$query = "SELECT * FROM contacts WHERE ContactID = '$contactID'";
// Run sql statement against database
$result = mysql_query($query, $dbc);
if ($result) {
$row = mysql_fetch_assoc($result);
$name = $row["Name"];
$address = $row["Address"];
$phone = $row["Phone"];
$mobile = $row["Mobile"];
$email = $row["Email"];
}
else {
// If there is an error display message
echo '<p><b class="error">Error with $rst: ' . mysql_error($dbc) . '</b></p>';
}
?>
<form name="editcontact" method="post" action="edit-contact.php" id="editcontact">
<fieldset>
<dl>
<dt><label for="name">Name</label></dt>
<dd><input name="name" type="text" value="<?php echo $name; ?>" size="33" maxlength="50" tabindex="1" /></dd>
</dl>
<dl>
<dt><label for="address">Address</label></dt>
<dd><textarea name="address" cols="33" rows="5" tabindex="2"><?php echo $address; ?></textarea></dd>
</dl>
<dl>
<dt><label for="phone">Phone</label></dt>
<dd><input name="phone" value="<?php echo $phone; ?>" type="text" size="33" maxlength="50" tabindex="3" /></dd>
</dl>
<dl>
<dt><label for="mobile">Mobile</label></dt>
<dd><input name="mobile" value="<?php echo $mobile; ?>" type="text" size="33" maxlength="50" tabindex="4" /></dd>
</dl>
<dl>
<dt><label for="Email">Email</label></dt>
<dd><input name="email" value="<?php echo $email; ?>" type="text" size="33" maxlength="50" tabindex="5" /></dd>
</dl>
<dl>
<dt></dt>
<dd><input type="submit" value="Update" name="update" tabindex="6" style="margin-left:7.3%;" /></dd>
<dd><a href="list-contacts.php" alt="Contacts List"><p style="margin-left:7.3%;">Back to contacts list</p></a></dd>
</dl>
</fieldset>
</form>
<?php
?>
['可爱()'](http://stackoverflow.com/q/60174/) –
您在'$ DBC =的mysql_connect省掉了一个参数( “localhost”,“root”);'应该读为'$ dbc = mysql_connect(“localhost”,“root”,“password_xxx”);'--- * Plus,* if(isset $ _POST ['update'])){...}条件语句在提交时将被忽略,这是$ contactID = $ _GET ['id'];'所在的位置;等等。 –
你错过了$ _POSTs中的符号,例如$ _POST [name]应该是$ _POST ['name'] –