mysqli_real_escape_string()转换帮助

时间:2016-10-26 03:50:47

标签: php

我如何将以下字符串转换为最新的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])."'";
    }

任何帮助都会非常感激,我知道还有其他几个类似的问题,但没有任何真正有助于指导我从原始源项目修复此字符串。

1 个答案:

答案 0 :(得分:0)

你可以这样做:

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