我正在编写一个PHP脚本来通过id从MySQL数据库中删除一行。 id的值作为查询字符串传递并存储在变量中。
查询正常运行,没有错误,但没有行受影响。
这是我的代码,有人可以指出它有什么问题吗?
感谢。
PHP代码:
$delete = $_GET['killthisguy'];
$sqlDel = "DELETE FROM `pba_files` WHERE id=".$delete;
$res = mysqli_query($cxn, $sqlDel);
$affRows = mysqli_affected_rows($cxn);
数据库架构:
CREATE TABLE IF NOT EXISTS `pba_files` (
`id` int(3) NOT NULL auto_increment,
`chap_id` int(2) default NULL,
`cat_id` varchar(2) character set utf8 collate utf8_unicode_ci default NULL,
`is_video` tinyint(1) default NULL,
`file_location` varchar(220) character set utf8 collate utf8_unicode_ci default NULL,
`clean_filename` varchar(116) character set utf8 collate utf8_unicode_ci default NULL,
`description` varchar(1026) character set utf8 collate utf8_unicode_ci default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=611 ;
答案 0 :(得分:0)
您可以尝试删除'来自" id"因为它不是字符串,所以它是一个int(从数据库的角度来看)
$delete = $_GET['killthisguy'];
$sqlDel = "DELETE FROM `pba_files` WHERE id=".$delete;
$res = mysqli_query($cxn, $sqlDel);
$affRows = mysqli_affected_rows($cxn);
你还确定" id"表中是否存在?
答案 1 :(得分:0)
这个问题只是我在设置访问权限时犯的一个粗心错误。我的用户不允许在数据库上使用DELETE。
感谢所有帮助人员。