使用php从MySQL中的两个连接表中删除信息

时间:2014-06-22 10:23:16

标签: php mysql sql-delete

HTML

echo "<a href=\"delete.php?id=".$row{'idHeroes'}."\">Delete</a>";

PHP

$joinTables = "DELETE * FROM heroes,stats WHERE idHeroes = $_GET[id]";
mysql_query($joinTables);
header('Location: index.php');

当我点击按钮时,它会刷新页面,但没有任何反应。

//我找到了解决方案

$deleteHeroes = "DELETE FROM heroes WHERE idHeroes = '".$_GET['id']."'";
    $deleteStats = "DELETE FROM stats WHERE idStats = '".$_GET['id']."'";
    mysql_query($deleteHeroes);
    mysql_query($deleteStats);

1 个答案:

答案 0 :(得分:1)

重写您的查询:

  $joinTables = "DELETE * FROM heroes
                 INNER JOIN  stats WHERE 
                 WHERE heroes.idHeroes= stats.idHeroes 
                 and heroes.idHeroes = '".$_GET['id']."' ";

OBS。你必须在查询中使用它之前转义变量,否则有人会删除你的所有列:)。

从GET中删除是个坏主意。