【发布时间】:2015-04-10 07:55:02
【问题描述】:
我正在编写一个脚本来更新记录。在我看来,脚本很好,我也收到了成功消息,但数据库中的记录没有更新。请帮我解决这个问题。
这是我的表单页面。
<!-- Inquiry Table Stars here -->
<?php
$id=$_GET['id'];
$sql = "Select * From inquiry WHERE id='$id'";
$result = mysql_query($sql);
?>
<?php
while($row=mysql_fetch_array($result))
{
$name = $row['cname'];;
$email = $row['email'];;
$phone = $row['phone'];;
$sdate = $row['sdate'];;
$edate = $row['edate'];;
$fdate = $row['fdate'];;
?>
<!-- Code Begins -->
<center>
<div class="vpb_main_wrapper">
<br clear="all">
<form method="post" action="edit_ac.php">
<h2 align="left" style="margin-top:0px;">Edit Operator</h2><br />
<div align="left" style="font-family:Verdana, Geneva, sans-serif; font-size:11px; margin-bottom:10px;">Edit operator Details.</div><br />
<div style="width:115px; padding-top:10px;float:left;" align="left"> Full Name:</div>
<div style="width:300px;float:left;" align="left"><input type="text" name="cname" id="cname" value="<?php echo $name; ?>" class="vpb_textAreaBoxInputs" required>
</div><br clear="all"><br clear="all">
<div style="width:115px; padding-top:10px;float:left;" align="left"> Email:</div>
<div style="width:300px;float:left;" align="left"><input type="text" name="email" id="email" value="<?php echo $email; ?>" class="vpb_textAreaBoxInputs" required>
</div><br clear="all"><br clear="all">
<div style="width:115px; padding-top:10px;float:left;" align="left">Mobile:</div>
<div style="width:300px;float:left;" align="left"><input type="text" name="phone" id="phone" value="<?php echo $phone; ?>" required class="vpb_textAreaBoxInputs">
</div><br clear="all"><br clear="all">
<div style="width:115px; padding-top:10px;float:left;" align="left">Start Date:</div>
<div style="width:300px;float:left;" align="left"><input type="text" name="sdate" id="sdate" value="<?php echo $sdate; ?>" required class="vpb_textAreaBoxInputs">
</div><br clear="all"><br clear="all">
<div style="width:115px; padding-top:10px;float:left;" align="left">End Date:</div>
<div style="width:300px;float:left;" align="left"><input type="text" name="edate" id="edate" value="<?php echo $edate; ?>" required class="vpb_textAreaBoxInputs">
</div><br clear="all"><br clear="all">
<div style="width:115px; padding-top:10px;float:left;" align="left">Date of Journey:</div>
<div style="width:300px;float:left;" align="left"><input type="text" name="fdate" id="fdate" value="<?php echo $fdate; ?>" class="vpb_textAreaBoxInputs" required>
</div><br clear="all"><br clear="all">
<input name="id" type="hidden" id="id" value="<?php echo $row['id']; ?>">
<div style="width:115px; padding-top:10px;float:left;" align="left"> </div>
<div style="width:300px;float:left;" align="left">
<input type="submit" name="submit" id="submit" value="Submit" style="margin-left: 100px" class="vpb_general_button">
</div>
</form>
<br clear="all"><br clear="all">
</div><?php } ?>
</center>
<!-- Code Ends -->
<!-- Inquiry Table Ends here -->
这是我的edit_ac.php
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="pro1"; // Database name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$name = $_POST['cname'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$sdate = $_POST['sdate'];
$edate = $_POST['edate'];
$fdate = $_POST['fdate'];
// update data in mysql database
$sql="UPDATE inquiry SET
cname = '$name',
email = '$email',
phone = '$phone',
sdate = '$sdate',
edate = '$edate',
fdate = '$fdate'
WHERE id='$id'";
$result=mysql_query($sql);
// if successfully updated.
if($result){
echo "Successfull";
}
else {
echo "Error";
}
?>
显示“0 条记录更新成功”。所以它没有在数据库中更新。有什么问题请帮忙。
【问题讨论】:
-
在后一个脚本中没有设置任何值,例如
$id。您只是假设它已设置,但它们没有。 -
我也做过 $_POST 但它不起作用
-
再次查看帖子我已经编辑了edit_ac.php页面...仍然无法正常工作..
-
你真的应该看看准备好的语句,或者至少使用
mysql_real_escape_string,因为你的代码非常容易受到攻击 -
我从phpeasystep.com/mysql-cate.php?category=update获取的这个更新代码看看这是否有助于解决问题请帮助我
标签: php mysql pdo mysqli phpmyadmin