您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了php7連接mysql數(shù)據(jù)庫(kù)的方法,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來(lái)研究并學(xué)習(xí)一下“php7連接mysql數(shù)據(jù)庫(kù)的方法”這篇文章吧。
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è)資訊頻道。
免責(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)容。