簡體   English   中英

如何使用數組參數檢查數據庫?

[英]How to check database with an array parameter?

嗨,我有一個數組,我想將變量傳遞給函數。

'#\@(.*?)\;#si' =>  'some before text' . retrieveName('$1') . 'some after text,'

function retrieveName($poster_id){
    $sanitized_id = sanitizeIn($poster_id);

    $getname = mysql_query("SELECT * FROM users WHERE userid = '$sanitized_id';") 
                or die(mysql_error());
    $namerow = mysql_fetch_array($getname);
    $exists = mysql_num_rows($getname);

    if($exists == "0"){
      return $sanitized_id;
    } else {
      return $namerow['username'];
    }
}

應該采用$1的值,檢查數據庫中具有該ID的用戶,然后返回其用戶名。 但是沒有參數傳遞給retrieveName

resolveName函數應顯示為:

function retrieveName($poster_id){
    $sanitized_id = sanitizeIn($poster_id);
    $get_name = mysql_query("SELECT * FROM users WHERE userid = '$sanitized_id';") or die(mysql_error());
    $name_row = mysql_fetch_array($get_name);
    return $name_row['username'];
}

我強烈建議您在此處進行一些錯誤檢查,如果沒有找到ID怎么辦?

編輯:

如果您要進行“ preg_replace模板制作”,則該行應顯示為:

'#@(.*?);#sie' =>  '"some before text".retrieveName("\1")."some after text"',

修飾符中的“ e”以執行代碼。

這應該更改,例如,“你好,@ lserni ;,怎么回事?” 與“您好,一些在文本之前,萊昂納多·瑟尼索姆在文本之后,怎么樣?”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM