php数据库检查id

标签 php mysql

我需要检查数据库中是否存在 ID,以便将其删除,如果不存在则显示消息警告。将“x”与“xtrue”进行比较时出现问题。

$x = $_REQUEST['X'];
$y = $_REQUEST['Y'];
if($x != "") {
    $xtrue = " SELECT x
                FROM ".$y."
                WHERE x=".$x;

    if($x == $xtrue) {
        $query="DELETE FROM ".$y." WHERE id=".$x;

        $recordset = mysql_query($query,$conn);

        echo "-> ".$x." from ".$y." deleted.";
        }
    else{echo "There is no ".$x." from ".$y.".";}
}

最佳答案

您确实不应该使用 mysql_* (自 PHP5.5.0 起已弃用),但如果您必须使用,下面是如何执行此操作的示例。

您不需要检查记录是否存在,只需尝试删除它并使用mysql_affected_rows来确定是否有任何记录被删除。

$x = $_REQUEST['x'];
$y = $_REQUEST['y'];

// Basic validation
// $x must be integer and $y may contains only letters and underscore
if (preg_match('/^[0-9]+$/', $x) and preg_match('/^[_a-z]+$/', $y)) {

    // If record is not exists it will not be removed
    mysql_query("DELETE FROM $y WHERE id = $x");

    if (mysql_affected_rows() == 1) {
        echo 'Record was deleted';
    } else {
        echo 'Record not exists.';
    }
}

关于php数据库检查id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19206512/

相关文章:

php - 使用 WordPress 后端从表单显示 POST 数据的最简单方法?

php - 将第一个数组的特定键和值合并到第二个数组中

php - 使用ajax处理php双数组

mysql - 通过从车辆读数中减去来计算车辆的里程

MySQL查询以获得特定排名

mysql - 如何使用 shell 脚本在 Linux 中存储 mysql 数据库

php - 使用 PHP 将转发的 URL 参数保存到 MySQL 数据库

php - 如果列中的所有行都为 true,则返回 true

php - 运行查询后,操作成功的消息

php - 搜索关键字可能包含特殊字符的搜索查询是什么?