2016-10-26 5 views
0

Как я мог бы преобразовать приведенные ниже строки в последнюю версию mysqli?mysqli_real_escape_string() помощь в преобразовании

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])."'"; 
    } 

Любая помощь будет принята с благодарностью, я понимаю, что есть несколько других подобных вопросов, но ничего, что действительно помогает руководство я беру эту строку из исходного исходного проекта.

+0

, потому что вы не можете просто придерживаться двутавровой в имени функции и ожидать, что она работает, как показано в [документации] (http://php.net/ manual/en/mysqli.real-escape-string.php) есть также изменение аргументов ..... почему сегодня я все время вижу, что люди повторяют ту же самую глупую ошибку снова. –

+0

Нужно добавить linnk к ваш экземпляр 'mysqli' в аргументах. Кроме того, по какой-то причине ваша последняя попытка неправильно имеет двойные подчеркивания. – Luke

ответ

0

Вы можете сделать так:

$nameCriteria = []; 
foreach ($searchInfo->nameTokens as $token) { 
    $nameCriteria[] = mysqli_real_escape_string($link, $token); 
} 
$nameCriteria = "IN('" . join("','", $nameCriteria) . "')"; 
Смежные вопросы