PHP和MySQL入門(9)

來源:互聯網
上載者:User
因為MySQL是一個完全分布式的軟體,我們必須考慮到這些可能性:服務不可用、網路堵塞或 者是我們的使用者名稱及口令不匹配。在這些情況下,mysql_connect函數不能返回一個串連標識(因為串連未被建立)。這時,會返回一個邏輯假。這使 得我們可以用一個if語句來處理串連的情況:

$dbcnx = @mysql_connect("localhost", "root", "mypasswd");
if (!$dbcnx) {
echo( "

Unable to connect to the " .
"database server at this time.

" );
exit();
}

在上面的程式碼片段中出現了三個新的東西,首先,我們在mysql_connect函數前加了一個 @符號。包括mysql_connect在內的許多函數會在 失敗後顯示難看的錯誤資訊。在函數名前加一個@符號可以告訴這個函數當執行失敗時,允許我們顯示我們自己友好的出錯資訊。

其次,在我們的if語句的條件中,$dbcnx變數前面加了一個驚歎號。這個驚歎號是PHP中 的“否運算子”。也就是說將邏輯真變為邏輯假,將邏輯假變為 邏輯真。這樣,如果這個串連是失敗的,mysql_connect會返回一個邏輯假,!$dbcnx將等於邏輯真,這樣我們的if語句將被執行。相反,如 果這個串連是成功的,儲存在$dbcnx中的串連標識將等於邏輯真(在PHP中,任何非零的數字都被認為是邏輯真),所以!$dbcnx會等於邏輯 假,if語句將不會被執行。

最後一個是exit函數,這是我們遇到的第一個沒有參數的函數。這個函數的全部作用就是導致PHP停止對本頁的閱讀。如果資料庫連接失敗這是一個很好的響應,因為絕大多數情況下,如果不能串連到資料庫,這一頁不會顯示任何有用的資訊。

和我們在第二章做過的一樣,串連被建立後下一步就是選擇工作的資料庫。我們將要在第二章中所建立的笑話資料庫中工作。這個資料庫被命名為jokes。在PHP中用來選擇資料庫的另外一個函數:

mysql_select_db("jokes", $dbcnx);

請注意我們在這兒使用了$dbcnx變數來指出了這個函數所使用的串連標識。這個參數實際上是可省略的。當省略這個參數時,函數會自動使用最後開啟的那一個串連。這個函數成功後返回邏輯真,失敗後返回邏輯假。為了謹慎起見,我們也用了一個if語句來處理錯誤:

if (! @mysql_select_db("jokes") ) {
echo( "

Unable to locate the joke " .
"database at this time.

" );
exit();
}

當建立了串連並選擇了資料庫之後,我們可以開始使用儲存在資料庫中的資料了

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.