溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php7連接mysql數(shù)據(jù)庫(kù)的方法

發(fā)布時(shí)間:2021-02-25 10:13:50 來(lái)源:億速云 閱讀:370 作者:清風(fēng) 欄目:編程語(yǔ)言

這篇文章主要為大家展示了php7連接mysql數(shù)據(jù)庫(kù)的方法,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來(lái)研究并學(xué)習(xí)一下“php7連接mysql數(shù)據(jù)庫(kù)的方法”這篇文章吧。

php有什么用

php是一個(gè)嵌套的縮寫(xiě)名稱,指的是英文超級(jí)文本預(yù)處理語(yǔ)言(php:Hypertext Preprocessor)的縮寫(xiě),它的語(yǔ)法混合了C、Java、Perl以及php自創(chuàng)新的語(yǔ)法,主要用來(lái)做網(wǎng)站開(kāi)發(fā),許多小型網(wǎng)站都用php開(kāi)發(fā),因?yàn)閜hp是開(kāi)源的,從而使得php經(jīng)久不衰。

PHP 5 的使用者可以使用 mysql extension,mysqli 和 PDO_MYSQL 。PHP 7移除了mysql extension,只剩下后面兩種選擇.

這份文檔解釋了每個(gè)API 的術(shù)語(yǔ),幫助我們?nèi)绾问褂肁PI 和了解相關(guān)API的信息。

PHP 提供了三種不同的API去連接mysql數(shù)據(jù)庫(kù)。下面的示例代碼展示了3種不同連接mysql數(shù)據(jù)庫(kù)的方式。

/*
 * mysqli
 * 數(shù)據(jù)庫(kù)地址,登陸賬號(hào),密碼,數(shù)據(jù)庫(kù)名稱
 */
    $mysqli = new mysqli("localhost", "root", "", "student");
    $sql = "SELECT * FROM tb_user";
    $result = $mysqli->query($sql);
    $row = $result->fetch_assoc(); // 從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組
    echo $row["password"];
    /* free result set */
    $result->free();

    /* close connection */
    $mysqli->close();
    /*
     * 第一個(gè)參數(shù)是mysql:host,第二是dbname,第三個(gè)賬戶名,第四個(gè)密碼
     */
    try {
        $pdo = new PDO("mysql:host=localhost;dbname=student", "root", "");
    } catch (PDOException $e) {
        echo 'Connection failed: ' . $e->getMessage();
    }
    $sql = "select * from tb_user";
    echo $sql . "<BR>";
    $pdo->query('set names utf8;');
    $result = $pdo->query($sql);
    $rows = $result->fetchAll();
    foreach ($rows as $row) {
        $username = $row[1];
        $pwd = $row[2];
        echo $username;
    }

我們推薦使用mysqli或者PDO_Mysql拓展,不推薦在新開(kāi)發(fā)中使用老的mysql拓展,因?yàn)樗赑HP5.5.0中不再使用并且在PHP7.0中被移除。

設(shè)置編碼很重要,是utf8而不是uft-8

$conn->set_charset("utf8");或者這樣也可以$conn->query("set names utf8;");<pre style="font-family: 'DejaVu Sans Mono'; font-size: 15pt; background-color: rgb(255, 255, 255);">

概念:

有緩存和沒(méi)有緩存的查詢

查詢默認(rèn)使用有緩存的查詢。這意味著查詢結(jié)果馬上從Mysql服務(wù)器發(fā)送到PHP,然后被保存在php解析器內(nèi)存中。這允許額外的操作像計(jì)算行數(shù),移動(dòng)或者尋找當(dāng)前的結(jié)果指針。它也允許在同樣的連接和結(jié)果集上進(jìn)一步查詢。緩存模式不好的一面是大的結(jié)果集可能需要很大的內(nèi)存,這些內(nèi)存一直占用直到結(jié)果集被清除或者被釋放,這是在請(qǐng)求結(jié)束自動(dòng)進(jìn)行的。術(shù)語(yǔ)存儲(chǔ)結(jié)果就是用來(lái)表示緩存模式,所有結(jié)果集馬上被保存。

沒(méi)有緩存的Mysql查詢被執(zhí)行,馬上返回一個(gè)資源,數(shù)據(jù)一直等待mysql服務(wù)器被連接獲取。這是用了更少的內(nèi)存在php一方,但這回增加服務(wù)器的負(fù)載。直到所有的結(jié)果集從服務(wù)器被取走且沒(méi)有發(fā)送建立在同一個(gè)連接上的查詢。沒(méi)有緩存的查詢也被稱為使用結(jié)果。

從這些特性可以看出,緩存查詢用在當(dāng)你只希望得到一個(gè)有限的結(jié)果集和或者在讀取結(jié)果集前知道返回結(jié)果集的行數(shù)。沒(méi)有緩存的查詢模式用在當(dāng)你要返回大量的數(shù)據(jù)。

因?yàn)槟J(rèn)是緩存查詢模式,下面的例子將會(huì)驗(yàn)證如何去執(zhí)行沒(méi)有緩存的查詢API。

<?php
$mysqli  = new mysqli("localhost", "my_user", "my_password", "world");
$uresult = $mysqli->query("SELECT Name FROM City", MYSQLI_USE_RESULT);

if ($uresult) {
   while ($row = $uresult->fetch_assoc()) {
       echo $row['Name'] . PHP_EOL;
   }
}
$uresult->close();
?>

以上就是關(guān)于“php7連接mysql數(shù)據(jù)庫(kù)的方法”的內(nèi)容,如果改文章對(duì)你有所幫助并覺(jué)得寫(xiě)得不錯(cuò),勞請(qǐng)分享給你的好友一起學(xué)習(xí)新知識(shí),若想了解更多相關(guān)知識(shí)內(nèi)容,請(qǐng)多多關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI