我有一个按钮,点击我会得到这样的链接:///update_news.php?newsID=112&;value=删除
使用此代码:
'<td style="width:50px;"> <u> <b><a href="update_news.php?newsID='.$row['newsID'].'&&'.'value=delete'.'">'.'<img src="src/img/delete.png" /></b></u></td></a>';
然后我尝试使用这个类删除一行,但它不起作用:
class Delete{
private $db;
public function __construct(){
$this->db = new Connection();
$this->db = $this->db->dbConnect();
}
public function Delete($title, $date, $short_description, $description){
$newsID = $_Get['newsID'];
$delete = $_Get['delete'];
if(isset($delete))
{
$sql = "DELETE FROM `News` WHERE newsID= :newsID";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':newsID', $_GET['newsID'], PDO::PARAM_INT);
$stmt->execute();
echo "WORKS";
}
else
{
echo "Papapapapa";
}
}}
我称这个类为
$object = new Delete();
$object->news($newsID, $title, $date, $short_description, $description);
如果有人愿意帮助我,谢谢你。
为什么要调用news()方法?您已将方法写入构造函数。你必须这样写一个类:
class Delete{
private $db;
public function __construct(){
$this->db = new Connection();
$this->db = $this->db->dbConnect();
}
public function DeleteNews($title, $date, $short_description, $description){
$newsID = $_Get['newsID'];
$delete = $_Get['delete'];
if(isset($delete))
{
$sql = "DELETE FROM `News` WHERE newsID= :newsID";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':newsID', $_GET['newsID'], PDO::PARAM_INT);
$stmt->execute();
echo "WORKS";
}
else
{
echo "Papapapapa";
}
}
}
之后调用方法DeleteNews。
$object = new Delete();
$object->DeleteNews($title, $date, $short_description, $description);
在我看来,您应该做的第一件事是重命名Delete
函数,这样它就不会大写,这样就不会将它与您的类混淆。
我要尝试的第二件事是实际调用(即将重命名)delete
函数,因为现在您正在调用一个名为news
的函数,它要么是拼写错误,要么是我们看不到的代码。尝试$object->delete(...)
而不是$object->news(...)
。