php
  • sql
  • arrays
  • 2012-08-09 85 views -1 likes 
    -1

    我在從SQL查詢中返回php中的數據時遇到了問題。這裏是我的代碼:在php中返回sql數組

     public function get_audit_message($productId,$accountId) 
         { 
         $sql_list ="SELECT notes 
            FROM ".$this->tables_audit." 
            WHERE productId = '".mysql_real_escape_string($productId)."' 
            AND accountId = '".mysql_real_escape_string($accountId)."' 
            "; 
    
         $query = $this->db->query($sql_list); 
         if($query->num_rows() > 0) 
          { 
          $return = $query->result_array(); 
          return $return; 
          } 
         else return false; 
         } 
    

    我有麻煩的原因是因爲它是在​​返回結果的正確數目,但只顯示單詞「陣列」。那麼如果我將其更改爲return $return[0];,則會正確返回第一個輸入的信息。

    所以我想要做的是選擇所有陣列號碼,例如return $return[*];,如果只有可能的話。

    任何建議將不勝感激。

    回答

    0

    有幾種簡單的方法可以在HTML中顯示PHP數組的內容。

    最簡單的是通過的print_r類似下面的命令查看:

    print_r ($my_array); 
    

    如果你需要 「好」 的格式,添加PRE標籤是這樣的:

    echo "<pre>"; 
    print_r($my_array); 
    echo "</pre>"; 
    

    或像這樣:

    echo "<pre>".print_r($my_array, 1)."</pre>"; 
    

    此外,還有類似的的var_dumpvar_export PHP函數:

    echo "<pre>"; 
    var_dump($my_array); 
    echo "</pre>"; 
    

    echo "<pre>"; 
    var_export($my_array); 
    echo "</pre>"; 
    

    只需選擇您喜歡的難關。

    1

    ​​是從這個函數返回數組的正確方法,但不能只是echo()的返回值,因爲它是一個數組。當你試圖回顯一個數組時,你只會得到字面的單詞「Array」(這也會引發一個通知,你可以在打開錯誤報告時看到)。

    你必須遍歷並打印每個數組元素出來,或者使用implode()

    $array = $obj->get_audit_message($productId,$accountId); // However you call it 
    echo implode("<br />\n", $array) . "<br />\n"; 
    

    或者:

    $array = $obj->get_audit_message($productId,$accountId); // However you call it 
    foreach($array as $el) { 
        echo $el . "<br />\n"; 
    } 
    

    上述兩種中的問題將產生完全相同的輸出。

    相關問題