Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用mySqli清理数据_Php_Mysql_Database_Function_Mysqli - Fatal编程技术网

Php 使用mySqli清理数据

Php 使用mySqli清理数据,php,mysql,database,function,mysqli,Php,Mysql,Database,Function,Mysqli,我正在使用mySqli,我正在尝试在附加/更新数据库之前开发最终的消毒功能 我想知道这个超级简单的函数是否能帮我完成这项工作 function sanitize($me) { return mysql_real_escape_string($me); } 内部PHP命令是否与日期和时间类似(例如sanitize(日期(“fj,Y,g:ia”);是否也应进行清理 无论是用户输入、函数调用的结果还是硬编码的数据,都应该对所有内容进行清理。有一天,您将决定将日期格式设置为动态格式,允许用户设置格式

我正在使用mySqli,我正在尝试在附加/更新数据库之前开发最终的消毒功能

  • 我想知道这个超级简单的函数是否能帮我完成这项工作

    function sanitize($me) {
    return mysql_real_escape_string($me);
    }
    
  • 内部PHP命令是否与日期和时间类似(例如
    sanitize(日期(“fj,Y,g:ia”);
    是否也应进行清理


  • 无论是用户输入、函数调用的结果还是硬编码的数据,都应该对所有内容进行清理。有一天,您将决定将日期格式设置为动态格式,允许用户设置格式字符串,而您将忘记清理它;用户将在格式中添加引号,您的SQL将被破坏

    mysql_real_escape_字符串不属于
    mysqli
    扩展,请使用正确的函数。更好的是,使用PDO,您不需要函数,只需要参数绑定

    如果这个超级简单的函数能帮我完成这项工作

    function sanitize($me) {
    return mysql_real_escape_string($me);
    }
    
    不,仅仅是因为底层函数与消毒完全无关,即使是从适当的扩展

    内部PHP命令输出是否也应进行消毒

    是的。因为您的数据库相关逻辑应该不知道数据源。它应该知道这些数据正在进入查询,因此必须正确格式化

    准备好的语句是达到目标的唯一途径。因此,你必须摆脱这个函数,开始学习准备好的语句