溫馨提示×

溫馨提示×

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

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

PHP中的prepare()方法的示例分析

發(fā)布時間:2021-04-27 13:57:22 來源:億速云 閱讀:159 作者:小新 欄目:編程語言

這篇文章主要介紹了PHP中的prepare()方法的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

php是什么語言

php,一個嵌套的縮寫名稱,是英文超級文本預(yù)處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運(yùn)用。

每次發(fā)送查詢語句給MySQL服務(wù)時,都必須解析該查詢的語法,確保結(jié)構(gòu)正確并能夠執(zhí)行。這是這個過程中必要的步驟,但也確實(shí)帶來了一些開銷。做一次是必要的,但是如果反復(fù)地執(zhí)行相同的查詢,批量插入多行時只改變列值,準(zhǔn)備語句會在服務(wù)器上緩存查詢的語法和執(zhí)行過程,而只在服務(wù)器和客戶端之間傳輸有變化的列值,以此來消除這些額外的開銷。

首先我們來看一下PDO::prepare的語法:

public PDO::prepare ( string $statement   , array $driver_options = array()   ) : PDOStatement
  • $statement:必須是對目標(biāo)數(shù)據(jù)庫服務(wù)器有效的 SQL 語句模板。

  • $driver_options:數(shù)組包含一個或多個 key=>value 鍵值對,為返回的 PDOStatement 對象設(shè)置屬性

  • 返回值如果數(shù)據(jù)庫服務(wù)器完成準(zhǔn)備了語句,返回PDOStatement 對象。如果數(shù)據(jù)庫服務(wù)器無法準(zhǔn)備語句,PDO::prepare() 返回 false 或拋出PDOException (取決于 錯誤處理器)。

代碼實(shí)例:

1.連接數(shù)據(jù)庫

<?php
$servername="localhost";
$username="root";
$password="root123456";
$dbname="my_database";
$pdo=new PDO("mysql:host=$servername;dbname=$dbname",$username,$password);
echo "連接成功"."<br>";
$pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER);
輸出:連接成功

2.使用問號參數(shù)來準(zhǔn)備SQL語句

$sql ="select * from fate where `id`=?";
$statement=$pdo->query("select * from fate where `id`=3 ");
var_dump($statement->fetch());

echo "<br>";
$stmt2 = $pdo->prepare($sql);
$stmt2 ->execute(array(3));
var_dump($stmt2->fetch());
輸出:array(6) {["ID"]=>string(1) "3"0]=>string(1) "3"["NAME"]=>string(7) "luncher"[1]=>string(7) "luncher"["AGE"]=>string(2) "56"[2]=>string(2) "56"}
array(6) {["ID"]=>string(1) "3"[0]=>string(1) "3"["NAME"]=>string(7) "luncher"[1]=>string(7) "luncher"["AGE"]=>string(2) "56"[2]=>string(2) "56"}

3.使用命名參數(shù)來準(zhǔn)備SQL語句

$query = "insert into tp_user (id,name,gender)values(:id,:name ,:gender)";
//準(zhǔn)備語句
$stmt1 = $pdo->prepare($query);
// 執(zhí)行查詢
$stmt1->execute(array('id'=> 1,':name' => '張三', ':gender' => '男'));
//再次執(zhí)行
$stmt1->execute(array('id'=> 2,':name' => '李四', ':gender' => '女'));
echo "插入成功!","<br>";
輸出;插入成功!

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“PHP中的prepare()方法的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

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

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

AI