亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQLi等價于MySQL_Result()?

MySQLi等價于MySQL_Result()?

PHP
元芳怎么了 2019-07-04 17:48:44
MySQLi等價于MySQL_Result()?我正在將一些舊的PHP代碼從MySQL移植到MySQLi,我遇到了一個小麻煩。是否沒有與舊的相提并論的?mysql_result()功能?我知道呀mysql_result()當您處理超過1行時,它比其他函數要慢,但是很多時候我只有一個結果和一個字段。使用它,我可以將4行壓縮為1。舊代碼:if ($r && mysql_num_rows($r))       $blarg = mysql_result($r, 0, 'blah');所需代碼:if ($r && $r->num_rows)       $blarg = $r->result(0, 'blah');但是沒有這樣的東西。:(我遺漏了什么嗎?還是我要把它吸進去,然后把所有的東西都編出來:if ($r && $r->num_rows)  {       $row = $r->fetch_assoc();       $blarg = $row['blah'];  }
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

PHP 5.4現在支持函數數組去引用,這意味著你可以這樣做:

if ($r && $r->num_rows)  {  
    $row = $r->fetch_assoc()['blah'];  }


查看完整回答
反對 回復 2019-07-04
?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

回答我想在回答完同樣的問題后,我可以改進答案。下面的函數完全復制MySQL_Result()函數,并在請求超出范圍時返回false(空結果,沒有該數字的行,也沒有該數字的列)。它還有一個額外的好處,即如果不指定行,則假定為0,0(要傳遞的值減少一個)。對該函數進行了更新,以便對字段進行數值偏移。或者字段名。

function mysqli_result($res,$row=0,$col=0){ 
    $numrows = mysqli_num_rows($res); 
    if ($numrows && $row <= ($numrows-1) && $row >=0){
        mysqli_data_seek($res,$row);
        $resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res);
        if (isset($resrow[$col])){
            return $resrow[$col];
        }
    }
    return false;}


查看完整回答
反對 回復 2019-07-04
?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

function db_result($result,$row,$field) { 
  if($result->num_rows==0) return 'unknown'; 
  $result->data_seek($row);
  $ceva=$result->fetch_assoc(); 
  $rasp=$ceva[$field]; 
  return $rasp; }


查看完整回答
反對 回復 2019-07-04
  • 3 回答
  • 0 關注
  • 570 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號