從一個低級錯誤說起:PHP資源類型Resource

來源:互聯網
上載者:User

作為一個php開發人員,竟然犯了一個很低級的錯誤,昨天幫朋友配置php+mysql,串連資料庫的時候犯了如下低級錯誤:

$dbhost='localhost';$dbusername='root';$dbpass='';$connect=mysql_connect($dbhost,$dbusername,$dbpass);print_r($connect);

我想測試資料庫能否串連成功,列印一下串連返回的結果,卻顯示Resource id #42(其實看到這個就表明資料庫連接已經成功了),以為哪裡配置錯了。

於是繼續犯低級錯誤,這樣繼續寫:

 

//接上面mysql_select_db('meican');$sql='select * from table';$result=mysql_query($sql);print_r($result);

我是想執行一條sql語句並列印結果集。
結果顯示空白一片。

現在用架構用多了,用資料庫連接類用多了,這種原始的串連資料庫的基本操作都生疏了,看來還是要夯實基礎啊。

分析了一下原因。原來PHP還存在一個資源類型。

資源 resource 是一種特殊變數,儲存了到外部資源的一個引用。資源是通過專門的函數來建立和使用的。資源類型變數儲存有為開啟檔案、資料庫連接、圖形畫布地區等的特殊控制代碼。

因此正確的寫法是:

$dbhost='localhost';$dbusername='root';$dbpass='';$connect=mysql_connect($dbhost,$dbusername,$dbpass);mysql_select_db('101ban');$sql='select * from tt_liuyan';mysql_query("set names utf8");$result=mysql_query($sql);while($row=mysql_fetch_array($result)){    echo $row['author'].'<br/>'.$row['content'];}

這樣就OK了,可以看見從資料庫表擷取的資料。

其實串連資料庫成功沒,一條語句就ok了,直接:

$link=mysql_connect($host,$username,$pwd);if($link){  echo 'ok';}else{  echo mysql_error();

(本文小談部落格原創,轉載請著名出處! 作者:小談部落格 網址:http://tanteng.sinaapp.com/2013/04/php-resource/)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.