我是新来的PHP和MySQL,我目前正在尝试构建一个小型网站作为练习。我有这个小错误,我想在我的数据库中编辑付款,代码运行,它说它是成功的,但它不会在表中更新。我尝试了很多不同的方式,例如在数据库中创建视图,但仍然无法使用。 php页面应该从上一页获得user_id,这个效果很好,但它仍然不会更新表格。SQL查询不更新phpmyadmin中的数据库
这里是我的购物篮表的SQL:
CREATE TABLE IF NOT EXISTS `basket` (
`product_id` int(8) NOT NULL,
`user_id` tinyint(4) NOT NULL,
`quantity` mediumint(8) NOT NULL,
`size` varchar(150) NOT NULL,
`payment` varchar(6) NOT NULL default 'No',
`checkout` varchar(3) NOT NULL default 'No'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `basket`
--
INSERT INTO `basket` (`product_id`, `user_id`, `quantity`, `size`, `payment`, `checkout`) VALUES
(1, 1, 1, 'Small', 'No', 'Yes'),
(3, 1, 1, 'Small', 'No', 'Yes'),
(20, 1, 1, 'Small', 'No', 'Yes'),
(3, 2, 1, 'Small', 'Yes', 'Yes');
下面是我用叫我的数据库payment_details认为我的PHP代码:
<?php
require_once('my_connect.php');
require_once 'header.php';
$user_id=$_GET["user_id"];?>
<html>
<head></head>
<body>
<H1>Edit Payment Form</H1>
<table>
<?php
if (isset($_POST['change_payment'])):
$user_id=$_GET["user_id"];
$payment=$_POST["payment"];
$edit_query= "update basket set
payment = '$payment' where
user_id='$user_id'";
$edit_result= mysqli_query($connection, $edit_query);
if ($edit_result) :
header ('location: view_orders.php?confirm=Product item successfully updated');
else :
echo "<b>This didn`t work, error: </b>";
echo mysqli_error($connection);
endif;
endif;
$user_id=$_GET['user_id'];
$my_query="select * from basket where user_id=$user_id;";
$result= mysqli_query($connection, $my_query);
while ($myrow = mysqli_fetch_array($result)):
$user_id= $myrow['user_id'];
$payment = $myrow["payment"];
endwhile;
echo "<form method='POST' action='change_payment.php' >
<tr><td><b>Payment:</b>
<td><input type='text' name='payment' value='$payment'>
<tr><td><input type='submit' name='change_payment' value='Save Changes'>
</form>";
?>
</table>
</body>
</html>
</div>
<?php require_once('footer.php'); ?>
它不更新我的数据库中的篮子表,我想知道为什么?请帮助我,我会很感激。
是否有打印出来的sql错误? – hassan
完全没有错误,它将我带到前面的页面,并添加了“成功更新的产品项目”,但未更新。 –
print'$ edit_query'并从phpmyadmin手动执行,并检查出什么是错误的 – hassan