2016-10-26 4 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

manual/en/mysqli.real-escape-string.php)引数の変更もあります.....今日はなぜ人々は何度も同じ愚かなミスを繰り返しているのを見ています –

+0

linnkを追加する必要があります引数の 'mysqli'インスタンスまた、あなたの最終的な試みは、何らかの理由で二重アンダースコアを間違っています。 – Luke

答えて

0

あなたはこのようにすることができます:あなただけの関数名で私を固執し、[ドキュメント](http://php.net/に示すように、それが動作することを期待することはできませんので

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