php - 从 mysql 表中删除一行

标签 php mysql

我对 php 还是个新手,正在努力解决它,但我陷入了以下部分:

code for deleting a row in my table

我有一个链接指向我的这段脚本。我很好地完成了前半部分,但是当我按下提交并尝试执行删除查询时,它不会进入我的第二个 if 语句,更不用说进入删除查询了。

$pgd 是页面 ID

我的预感是我在 while 语句之后构建的表单中的操作存在问题

请原谅我的消息格式很奇怪,但现在是凌晨 2 点,我很累,我保证以后会更好地格式化我的问题!感谢任何帮助

编辑:好的,除了缺少 method=post @.@; 的明显错误之外;

编辑:

大家好, 首先,我要感谢大家的回复。 我上周末刚刚开始用 php 编码,所以请原谅我乱七八糟的代码。代码仍在本地运行,我的主要目标是完成功能,然后致力于保护我的代码。

现在回到这个问题,如果我对我的问题含糊其辞,我很抱歉。我会尝试重申一下。

我的问题不是选择要删除的项目,问题是它不会到达第二个 if 语句。

重新编辑: 这次使用我当前的代码:

if($_GET['delete'] == "y")
{
//content hier verwijderen
$sqlcont1="SELECT * FROM content where id ='".$_GET['id']."'";
echo $sqlcont1;
$resultcont1 = mysql_query($sqlcont1) or die (include 'oops.php');
while($rowcont1= mysql_fetch_array($resultcont1)){
echo '<form class="niceforms" action="?pg='.$pgd.'&delete=y&remove=y&id='.$_GET['id'].'" method="post">';
echo '<h1>'.$rowcont1['Titel'].'</h1>';
echo '<p>'.$rowcont1['Content'].'</p>';
echo '<input type="submit" value="Delete article">';
echo '</form>';
}
if($_GET['remove']=="y"){
echo 'rararara';
    $id=$_GET['id'];
    $sqlrem="DELETE FROM content WHERE id="$id;
    echo $sqlrem;
    mysql_query($sqlrem);
}   
}

回显 $sqlrem 现在给出以下内容: 从 id=8 的内容中删除 这是我当前的代码,我进入第二个 IF 语句,但现在要删除它!

@大家: 好吧,也许大声思考或按照我的步骤工作是有效的,但代码有效,我知道它非常困惑,需要微调。我要感谢大家的帮助和反馈。我喜欢这个,你可能会经常看到我提出一些无聊的问题和困惑的代码,没有任何转义:(

最佳答案

首先,您的脚本中存在 SQL 注入(inject)漏洞。任何人都可以添加一些附加到您的查询的字符串,并可能以某种方式更改它,从而可以使用数据库中的数据进行几乎任何操作。

使用一种反 SQL 注入(inject)方法转义您的值。阅读更多信息,例如 php.net/manual/en/function.mysql-query.php

说到重点...

仅当您调用带有两个参数的 URL(removedelete 设置为 y 时,您的删除代码才会执行​​。这意味着您的 URL看起来应该类似于 something.php?delete=y&remove=y。也许您只是没有发现它。

请提供有关所发生错误的详细信息,并告诉我上述解决方案是否有帮助。

关于php - 从 mysql 表中删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6132402/

相关文章:

python - 插入 mysql python - 不工作

MySQL根据IF选择where列

java - JDBCTemplate 检索由 LAST_INSERT_ID() mySQL 技巧设置的值的问题

php - 所有帖子的批量 wpdb 插入 [Wordpress]

来自函数返回数组的 PHP PDO 参数

mysql - SQL:根据一个字段的条件值

mysql - 最常见的小时查询?

php - 如何强制依赖项中的开发依赖项也与 Composer 一起安装?

php - 包装一组 XML 节点

php - 我将 php 作为 apache 的模块运行,但无法加载配置文件(php.ini)