簡體   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