我的更新声明无效。它显示" RECORD UPDATED"但不更新表格。这是代码,请帮忙。
<?php
$db=mysqli_connect("localhost","root","")or die("Connection error");
mysqli_select_db($db,"suhaib")or die("dbase error");
创建关联数组并运行WHILE循环
<?php
if(isset($_GET['edit'])){
$sql=$db->query("SELECT * FROM forma");
while($result=mysqli_fetch_assoc($sql)){
?>
<form name="update1" action="" method="GET">
DataNumber:<input type="text" name="datanum"
value="<?php echo $result['datanumber']; ?>">
Date:<input type="text" name="date" value="<?php echo $result['date']; ?>">
Type:<input type="text" name="type" value="<?php echo $result['type']; ?>">
Subject:<input type="text" name="subject"
value="<?php echo $result['subject']; ?>">
Amount:<input type="text" name="amount"
value="<?php echo $result['amount']; ?>">
SOE:<input type="text" name="soe" value="<?php echo $result['soe']; ?>">
Note:<input type="text" name="note" value="<?php echo $result['note']; ?>">
Liquidate:<input type="text" name="liquidate"
value="<?php echo $result['liuidatedate']; ?>">
Checker Info:<input type="text" name="checkerinfo"
value="<?php echo $result['checkerinfo']; ?>">
Accounting Info:<input type="text" name="accountingconfir"
value="<?php echo $result['accountingconfir']; ?>">
<input type="submit" value="update" name="upd">
</form>
<?php }} ?>
更新语句以更新表。表格未更新,但会显示消息&#34; RECORD UPDATED&#34;
if(isset($_GET['upd'])){
$datanum=$_GET['datanum'];
$date=$_GET['date'];
$type=$_GET['type'];
$subject=$_GET['subject'];
$amount=$_GET['amount'];
$soe=$_GET['soe'];
$note=$_GET['note'];
$liquidate=$_GET['liquidate'];
$checkerinfo=$_GET['checkerinfo'];
$accounting=$_GET['accountingconfir'];
$up="UPDATE forma SET datanumber='$datanum' , date='$date' ,
type='$type' , subject='$subject' ,
amount='$amount', soe='$soe' , note='$note', liuidatedate='$liquidate' ,
checkerinfo='$checkerinfo', accountingconfir='$accounting'";
mysqli_query($db, $up);
echo "record updated";
答案 0 :(得分:0)
哎呀,你错过的东西非常重要
$up="UPDATE
forma
SET
datanumber='$datanum',
date='$date',
type='$type',
subject='$subject',
amount='$amount',
soe='$soe',
note='$note',
liuidatedate='$liquidate' ,
checkerinfo='$checkerinfo',
accountingconfir='$accounting'";
我的意思是除非你试图覆盖数据库中的所有数据。你看到了吗......
Where ... ?
省略WHERE子句将使用此数据更新每一行。希望
您也错过了问题中的部分代码,或者语法错误
if(isset($_GET['upd'])){
....
您的问题中没有关闭}
。
关于您的问题,我建议启用错误报告并显示错误
<?php //right at top of php after the tag
error_reporting(-1);
ini_set('display_errors', 1);
这样PHP就会告诉你出了什么问题。