这如何寻找消毒mysqli输入?

时间:2014-08-25 00:15:10

标签: php mysqli

基于http://us.php.net/manual/en/filter.filters.sanitize.php,这对我来说似乎是一个好方法:

$filteredVar = filter_var($myVar, FILTER_SANITIZE_STRING);

我将插入数据库的字符串将是地址,日期,价格和产品名称,全部来自db或由jquery datepicker或google maps api生成。

2 个答案:

答案 0 :(得分:0)

为什么不使用准备好的陈述。更轻松,更清洁,更自我维护。

$mysqli = new mysqli("","","","");
$mysqli->prepare("SELECT Cols FROM Table WHERE Col=?");
$mysqli->bind_param(...);

答案 1 :(得分:0)

请使用prepared statements

记录创建用例的CRUD应用程序示例:

$db = new mysqli();

$name = htmlspecialchars($_REQUEST['product_name']);
$desc = htmlspecialchars($_REQUEST['product_desc']);
$price = htmlspecialchars($_REQUEST['product_price']);

$sql = 'INSERT INTO products (name, description, price) 
    VALUES (?, ?, ?);';
$stmt = $db->prepare();
$stmt->bind_param('ssd', $name, $desc, $price);
$stmt->execute();