mysqli删除查询不起作用

时间:2014-07-06 22:48:26

标签: php html mysql

我正在编写一个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 ;

2 个答案:

答案 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。

感谢所有帮助人员。