2011-09-18 65 views
0

用户注销后,基本上会删除其表中包含其任何行中的代码的所有数据。从表名称中删除存储为变量?

$idcode = $_SESSION['idcode']; 
$idicao = $_SESSION['idicao']; 

if(isset($_POST['logout'])) { 

$sql = "DELETE FROM $idicao WHERE idcode=".$idcode.""; 

mysql_query($sql); 

} 


session_unset(); 
session_destroy(); 

mysql_close($dbid); 

header("Location: login.php"); 

?> 

变量正确地在页面上回显,session_start位于顶部。唯一的问题是表中的记录没有被删除。

+1

你说的所有变量正确呼应..没有包括$ _ POST ['登出'] ? – Gryphius

+0

echo $ sql,向我们显示结果。 – 2011-09-18 20:00:08

+0

echo $ sql给我DELETE FROM Test WHERE idcode = test – Thatfuzzbean

回答

1

您是说的SQL变量输出:DELETE FROM测试,其中IDCODE =测试

测试应该在单引号是这样的:

$sql = "DELETE FROM ".$idicao." WHERE idcode='".$idcode."'"; 
+0

非常感谢。:D – Thatfuzzbean

2

改变这一行:
$sql = "DELETE FROM $idicao WHERE idcode=".$idcode."";

$sql = "DELETE FROM ".$idicao." WHERE idcode=".$idcode.";

,你应该是好去

+0

查询似乎现在已经修复,因为回显$ sql给我DELETE FROM测试WHERE idcode = test。但它没有通过 – Thatfuzzbean

+0

好的,那么你要删除的表的名称是什么?列名是什么? – MWard

2

试试这个:

$idicao='yourtablename'; 
$sql = 'DELETE FROM '.$idicao.' WHERE idcode='.$idcode;