繁体   English   中英

mysqli_real_escape_string()转换帮助

[英]mysqli_real_escape_string() conversion assistance

我如何将以下字符串转换为最新的mysqli?

for ($i = 0; $i < $num; $i++) {
            if ($i == 0)
                $nameCriteria .= " IN ('".mysql_escape_string($searchInfo->nameTokens[$i])."'";
            else
                $nameCriteria .= ",'".mysql_escape_string($searchInfo->nameTokens[$i])."'";
        }

我尝试了以下修复程序,但不起作用。

for ($i = 0; $i < $num; $i++) { 
            if ($i == 0) 
                $nameCriteria .= " IN ('".((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $searchInfo->nameTokens[$i]) : ((trigger_error("Does not Work!", E_USER_ERROR)) ? "" : ""))."'"; 
            else 
                $nameCriteria .= ",'".((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $searchInfo->nameTokens[$i]) : ((trigger_error("Does not Work!.", E_USER_ERROR)) ? "" : ""))."'"; 
        } 

我也尝试使用此功能,但也不起作用

for ($i = 0; $i < $num; $i++) {
        if ($i == 0)
            $nameCriteria .= " IN ('".mysqli__real_escape_string($searchInfo->nameTokens[$i])."'";
        else
            $nameCriteria .= ",'".mysqli__real_escape_string($searchInfo->nameTokens[$i])."'";
    }

任何帮助将不胜感激,我理解还有其他一些类似的问题,但是没有什么真正可以帮助我从原始源项目中修复此字符串的问题。

您可以这样:

$nameCriteria = [];
foreach ($searchInfo->nameTokens as $token) {
    $nameCriteria[] = mysqli_real_escape_string($link, $token);
}
$nameCriteria = "IN('" . join("','", $nameCriteria) . "')";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM