PHP删除表无效

时间:2014-08-25 15:50:21

标签: php mysql sql

所以我有这个脚本来删除与某个数据库字段匹配的表项。问题是该脚本会添加另一个字段的值,就像它想象的那样。然而,当它重定向时,其他值尚未删除。我似乎无法弄清楚这个问题,我们非常感谢任何帮助。

有两个表格按原样结构

id,username,cvalue
id,username,pid

假设要做的是删除具有相同pid的每个条目并添加到cvaule,添加到cvalue有效,但它不会删除任何内容。

示例:

表1

1 Bob 5
2史蒂夫4

表2

1 Bob A4DC
2 Bob A4DC
3 Steve GQ4A
4 Steve GQ4A
5 Bob A4DC

在Bob运行脚本之后,它应该是

表1

1 Bob 8
2史蒂夫4

表2

3 Steve GQ4A
4史蒂夫GQ4A

这是代码

require 'connect.php';
$username = $_SESSION['username'];
$id = $_SESSION['id'];
$queryone = "SELECT `cvalue` FROM `tableone` WHERE username='$username'";
$queryrunone = mysql_query($queryone);
$query_assocone = mysql_fetch_assoc($queryrunone);
$querytwo = "SELECT `pid` FROM `tabletwo` WHERE pid='$id'";
$queryruntwo = mysql_query($querytwo);
$query_assoctwo = mysql_fetch_assoc($queryruntwo);
$cvalue = $query_assoc['cvalue'];
$pid = $query_assoctwo['pid'];
$tablequery = mysql_query("
SELECT *, COUNT(1) AS `enteries` FROM `tabletwo` WHERE `pid`='$pid' GROUP BY `pid`
");
$row = mysql_fetch_assoc($tablequery);
$enteries = $row ['enteries'];
$cvalue = $cvalue + $enteries;
$query = "UPDATE `tableone` SET `cvalue`='$cvalue' WHERE `username`='$username'";
mysql_query($query);
$query = "DELETE from `tabletwo` WHERE `pid`=$id";
mysql_query($query);
unset ($_SESSION['id']);
header ('Location: index.php');

编辑:

我应该提到,当我$ id时,它抓住上一页中已经等于pid的id。

1 个答案:

答案 0 :(得分:0)

试试这个:

$query = "DELETE from `tabletwo` WHERE `pid`='" .mysql_real_escape_string ($id) ."'";

注意SQL注入技术。您的代码不安全。