我是新來的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