-- Rishabh Kandari(作者)大約 80% 的" />
時(shí)間:2023-04-21 05:15:02 | 來源:網(wǎng)站運(yùn)營
時(shí)間:2023-04-21 05:15:02 來源:網(wǎng)站運(yùn)營
PHP PDO 簡單教程:PHP 5.5 版本之前,我們有用于訪問 MySQL 數(shù)據(jù)庫的 mysql_ 命令,但由于安全性不足,它們最終被棄用。mysql_ 的棄用帶來了訪問數(shù)據(jù)庫的兩種主要方法:mysqli 和 PDO 庫。大約 80% 的 Web 應(yīng)用程序由 PHP 提供支持。類似地,SQL 也是如此。PHP 5.5 版本之前,我們有用于訪問 MySQL 數(shù)據(jù)庫的 mysql_ 命令,但由于安全性不足,它們最終被棄用。
-- Rishabh Kandari(作者)
$host = 'localhost';$db = 'theitstuff';$user = 'root';$pass = 'root';$charset = 'utf8mb4';$dsn = "mysql:host=$host;dbname=$db;charset=$charset";$conn = new PDO($dsn, $user, $pass);
之后,正如你在上面的代碼中看到的,我們創(chuàng)建了 DSN 變量,DSN 變量只是一個(gè)保存數(shù)據(jù)庫信息的變量。對于一些在外部服務(wù)器上運(yùn)行 MySQL 的人,你還可以通過提供一個(gè) port=$port_number
來調(diào)整端口號(hào)。$conn
變量,并提供了 $dsn
、$user
、$pass
參數(shù)。如果你遵循這些步驟,你現(xiàn)在應(yīng)該有一個(gè)名為 $conn
的對象,它是 PDO 連接類的一個(gè)實(shí)例?,F(xiàn)在是時(shí)候進(jìn)入數(shù)據(jù)庫并運(yùn)行一些查詢。$tis = $conn->query('SELECT name, age FROM students');while ($row = $tis->fetch()){ echo $row['name']."/t"; echo $row['age']; echo "<br>";}
這是使用 PDO 運(yùn)行查詢的最簡單形式。我們首先創(chuàng)建了一個(gè)名為 tis
(TheITStuff 的縮寫 )的變量,然后你可以看到我們使用了創(chuàng)建的 $conn
對象中的查詢函數(shù)。while
循環(huán)并創(chuàng)建了一個(gè) $row
變量來從 $tis
對象中獲取內(nèi)容,最后通過調(diào)用列名來顯示每一行。位置參數(shù)
$tis = $conn->prepare("INSERT INTO STUDENTS(name, age) values(?, ?)");$tis->bindValue(1,'mike');$tis->bindValue(2,22);$tis->execute();
在上面的例子中,我們放置了兩個(gè)問號(hào),然后使用 bindValue()
函數(shù)將值映射到查詢中。這些值綁定到語句問號(hào)中的位置。bindParam()
函數(shù)相同例子如下:$name='Rishabh'; $age=20;$tis = $conn->prepare("INSERT INTO STUDENTS(name, age) values(?, ?)");$tis->bindParam(1,$name);$tis->bindParam(2,$age);$tis->execute();
$name='Rishabh'; $age=20;$tis = $conn->prepare("INSERT INTO STUDENTS(name, age) values(:name, :age)");$tis->bindParam(':name', $name);$tis->bindParam(':age', $age);$tis->execute();
你可以注意到,唯一的變化是我使用 :name
和 :age
作為占位符,然后將變量映射到它們。冒號(hào)在參數(shù)之前使用,讓 PDO 知道該位置是一個(gè)變量,這非常重要。bindValue()
來使用命名參數(shù)直接映射值。PDO::FETCH_ASSOC
來獲取關(guān)聯(lián)數(shù)組,PDO::FETCH_NUM
來獲取數(shù)字?jǐn)?shù)組,使用 PDO::FETCH_OBJ
來獲取對象數(shù)組。$tis = $conn->prepare("SELECT * FROM STUDENTS");$tis->execute();$result = $tis->fetchAll(PDO::FETCH_ASSOC);
你可以看到我使用了 fetchAll
,因?yàn)槲蚁胍衅ヅ涞挠涗?。如果只需要一行,你可以簡單地使?fetch
。foreach ($result as $lnu){ echo $lnu['name']; echo $lnu['age']."<br>";}
你可以看到,因?yàn)槲艺埱罅岁P(guān)聯(lián)數(shù)組,所以我正在按名稱訪問各個(gè)成員。$conn
變量本身時(shí),實(shí)際上可以將其設(shè)置為默認(rèn)值。$options
數(shù)組,你可以在其中放入所有默認(rèn)配置,只需在 $conn
變量中傳遞數(shù)組即可。$options = [ PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,];$conn = new PDO($dsn, $user, $pass, $options);
這是一個(gè)非常簡短和快速的 PDO 介紹,我們很快就會(huì)制作一個(gè)高級(jí)教程。如果你在理解本教程的任何部分時(shí)遇到任何困難,請?jiān)谠u(píng)論部分告訴我,我會(huì)在那你為你解答。關(guān)鍵詞:教程,簡單
客戶&案例
營銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。