【发布时间】:2016-01-16 19:37:23
【问题描述】:
所以我有这个:
echo "
<form action='users/delete.php' method='post'>
<input type='hidden' name='ProductID' value='".$row->ProductID."' />
<input type='submit' value='Delete' />
</form>
";
这行得通,但每当我按下按钮时,表并没有被删除,这是我的 delete.php
<?php
define('_HOST_NAME_', 'localhost');
define('_USER_NAME_', 'root');
define('_DB_PASSWORD', '#####');
define('_DATABASE_NAME_', 'ws_webshop');
//PDO Database Connection
try {
$databaseConnection = new PDO('mysql:host='._HOST_NAME_.';dbname='._DATABASE_NAME_, _USER_NAME_, _DB_PASSWORD);
$databaseConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
// create PDO instance; assign it to $db variable
$sql = "DELETE FROM `tbl_products` WHERE `ProductID` = :ProductID LIMIT 1";
$smt = $databaseConnection->prepare($sql);
$smt->bindParam(':ProductID', $_POST['ProductID'], PDO::PARAM_INT);
$smt->execute();
header('Location: ../webshop.php');
但它并没有删除它,有人看到问题了吗? 谢谢!
【问题讨论】:
-
尝试从查询中取出限制 1。
-
如果将查询放在
try中会发生什么?$row->ProductID是否也已填充,也许那是一个数组? -
将错误报告添加到文件顶部,紧跟在您的打开 PHP 标记之后,例如
<?php error_reporting(E_ALL); ini_set('display_errors', 1);,然后是其余代码,看看它是否会产生任何结果。 -
注意:试图在 F:\xampp\htdocs\new\3n\webshop.php 第 120 行第 120 行获取非对象的属性
-
已修复,将值更改为:value='".$row['ProductID'] 谢谢大家