色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysqli對(duì)象 php

MySQLi是PHP中一個(gè)重要的擴(kuò)展,用于連接MySQL數(shù)據(jù)庫(kù)。與以前的MySQL擴(kuò)展不同,MySQLi提供了很多新的功能和API,其中包括面向?qū)ο蟮木幊棠P秃透玫陌踩浴?/p>

一個(gè)MySQLi對(duì)象可以用于連接到數(shù)據(jù)庫(kù),并調(diào)用查詢。下面是一個(gè)使用MySQLi對(duì)象執(zhí)行查詢的示例:

$mysqli = new mysqli("localhost", "username", "password", "database_name");
$result = $mysqli->query("SELECT * FROM users");
if ($result->num_rows >0) {
while($row = $result->fetch_assoc()) {
echo $row["username"] . "
"; } } else { echo "0 results"; } $mysqli->close();

首先,我們創(chuàng)建了一個(gè)新的MySQLi對(duì)象,并通過(guò)它的構(gòu)造函數(shù)連接到數(shù)據(jù)庫(kù)。然后,我們將一個(gè)SQL查詢發(fā)送到數(shù)據(jù)庫(kù),從中獲取了一個(gè)結(jié)果集。我們可以使用$result->num_rows屬性來(lái)獲取結(jié)果集中的行數(shù),使用$result->fetch_assoc()方法來(lái)獲取每一行的內(nèi)容。

接下來(lái),我們將每一行的用戶名打印出來(lái),并在打印前插入一個(gè)換行符。如果結(jié)果集中沒(méi)有任何行,則會(huì)顯示"0 results"。最后,我們使用$mysqli->close()方法關(guān)閉MySQLi連接。

下面是一個(gè)使用MySQLi預(yù)處理語(yǔ)句(Prepared Statements)防止SQL注入攻擊的示例:

$mysqli = new mysqli("localhost", "username", "password", "database_name");
$stmt = $mysqli->prepare("SELECT * FROM users WHERE username=? AND password=?");
$stmt->bind_param("ss", $username, $password);
$username = "john";
$password = "password123";
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows >0) {
while($row = $result->fetch_assoc()) {
echo $row["username"] . "
"; } } else { echo "0 results"; } $stmt->close(); $mysqli->close();

首先,我們創(chuàng)建了一個(gè)新的MySQLi對(duì)象,并通過(guò)它的構(gòu)造函數(shù)連接到數(shù)據(jù)庫(kù)。然后,我們準(zhǔn)備了一個(gè)包含"?"的查詢,這些"?"將被替換為真實(shí)的值。我們使用$stmt->bind_param()方法將變量綁定到查詢中的"?",并以字符串形式指定每個(gè)變量的類型。

接下來(lái),我們?yōu)?username和$password變量設(shè)置值,并使用$stmt->execute()方法來(lái)執(zhí)行查詢。我們使用$stmt->get_result()方法來(lái)獲取結(jié)果集,并檢查是否有行。最后,我們關(guān)閉了$stmt和$mysqli對(duì)象。

MySQLi還支持事務(wù)。下面是一個(gè)使用MySQLi事務(wù)的示例:

$mysqli = new mysqli("localhost", "username", "password", "database_name");
$mysqli->begin_transaction();
$stmt = $mysqli->prepare("UPDATE account SET balance=balance-100 WHERE id=1");
$stmt->execute();
$stmt = $mysqli->prepare("UPDATE account SET balance=balance+100 WHERE id=2");
$stmt->execute();
$mysqli->commit();
$mysqli->close();

首先,我們創(chuàng)建了一個(gè)新的MySQLi對(duì)象,并通過(guò)它的構(gòu)造函數(shù)連接到數(shù)據(jù)庫(kù)。然后,我們使用$mysqli->begin_transaction()方法啟動(dòng)一個(gè)事務(wù)。接下來(lái),我們執(zhí)行了兩個(gè)查詢,其中一個(gè)從賬戶1中扣除100元,另一個(gè)將100元存入賬戶2中。

最后,我們使用$mysqli->commit()方法提交事務(wù),并將所有更改保存到數(shù)據(jù)庫(kù)中。如果任何一個(gè)查詢失敗,則可以使用$mysqli->rollback()方法回滾事務(wù),撤銷所有更改。

除了以上示例中的用法,MySQLi還支持其他許多功能和API,可以在PHP文檔中查找更多信息。MySQLi是PHP中連接MySQL數(shù)據(jù)庫(kù)的重要工具之一,它提供了很多在連接到和操作數(shù)據(jù)庫(kù)時(shí)非常有用的新功能。

總之,MySQLi對(duì)象是一個(gè)非常重要的PHP擴(kuò)展,用于連接和操作MySQL數(shù)據(jù)庫(kù)。在使用MySQLi時(shí),一定要使用預(yù)處理語(yǔ)句來(lái)防止SQL注入攻擊,并使用事務(wù)來(lái)保證查詢的一致性。