Php 将_POST变量传递给Mysql WHERE子句

Php 将_POST变量传递给Mysql WHERE子句,php,mysql,variables,Php,Mysql,Variables,我在运行以下代码时遇到问题。我已经确认了_POST变量包含数据,但我非常确定SQL查询的处理方式存在问题。对不起,我是一个PHP n00b,我正在努力了解如何纠正这个问题。我知道查询可能需要在IP地址周围加上“”这使得这个问题变得棘手。提前谢谢大家 mysql\u query函数无法格式化字符串 您可能在想sprintf(): 考虑切换到或,因为mysql扩展现在已被弃用。mysql\u query()无法将查询格式化为那样 您可能正在寻找: 请注意,您的代码容易受到SQL注入的攻击。在数据库查

我在运行以下代码时遇到问题。我已经确认了_POST变量包含数据,但我非常确定SQL查询的处理方式存在问题。对不起,我是一个PHP n00b,我正在努力了解如何纠正这个问题。我知道查询可能需要在IP地址周围加上“”这使得这个问题变得棘手。提前谢谢大家

mysql\u query函数无法格式化字符串

您可能在想
sprintf()

考虑切换到或,因为mysql扩展现在已被弃用。

mysql\u query()
无法将查询格式化为那样

您可能正在寻找:


请注意,您的代码容易受到SQL注入的攻击。在数据库查询中使用用户输入之前,应始终对其进行清理。更好的是,切换到MySQLi/PDO并使用预先准备好的语句。

到底是什么问题?感谢您的帮助。这是有道理的,我将研究您提到的两个库。再次感谢。
<?php
//Connect to DB
$dbcnx = @mysql_connect("$db_host", $db_user, "$db_password");
if (!$dbcnx) {
 echo( "<P>Unable to connect to the " .
    "database server at this time.</P>" );
 exit();
}
mysql_select_db("daily_audit", $dbcnx);
// Request the text of all the hosts
if(!empty($_POST['checklist'])) {
    foreach($_POST['checklist'] as $check) {
        $result = mysql_query(
           "DELETE FROM hosts_list WHERE IP_Address = %s ", $check);
if (!$result) {
 echo("<P>Error performing query: " .
     mysql_error() . "</P>");
 exit();
}
    }
}
?>
$query = sprintf("DELETE FROM hosts_list
                  WHERE IP_Address = %s", mysql_real_escape_string($check));
$result = mysql_query($query);
$result = mysql_query(
    sprintf("DELETE FROM hosts_list WHERE IP_Address = %s ", $check) );