这是如何处理mysqli输入的?


How does this look for sanitizing mysqli input?

基于http://us.php.net/manual/en/filter.filters.sanitize.php,这看起来是一个很好的方法:

$filteredVar = filter_var($myVar, FILTER_SANITIZE_STRING);

字符串我将插入到我的数据库将地址,日期,价格和产品名称,所有从数据库或生成的jquery日期picker或谷歌地图api。

请使用准备好的语句。

记录创建用例的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();

为什么不使用预处理语句呢?更容易、更清洁、更易于自我维护。

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