溫馨提示×

溫馨提示×

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

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

怎么在php中利用PDO執行SQL語句

發布時間:2021-03-30 17:49:11 來源:億速云 閱讀:208 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關怎么在php中利用PDO執行SQL語句,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

exec()方法

exec()方法返回執行后受影響行數,語法如下:

int PDO::exec(string statement)

參數statement是要執行的SQL語句。該方法返回執行查詢時受影響的行數,通常情況下用于INSERT,DELETE和UPDATE語句中。

例如:

$dbms='mysql';//數據庫類型
$dbName='admin';//使用的數據庫
$user='root';//數據庫連接用戶名
$pwd='password';//數據庫連接密碼
$host='localhost';//數據庫主機名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);//初始化一個PDO對象,就是創建了數據庫連接對象$pdo
$query="insert into user(username,password) values('admin','123456')";//需要執行的sql語句
$res=$pdo->exec($query);//執行添加語句并返回受影響行數
echo "數據添加成功,受影響行數為: ".$res;
}catch(Exception $e){
die("Error!:".$e->getMessage().'<br>');
}

運行結果為:

數據添加成功,受影響行數為: 1

query()方法

query()方法用于返回執行查詢后的結果集,語法如下

PDOStatement PDO::query(string statement)

參數statement 是要執行的SQL語句。它返回的是一個PDOStatement對象

例如:

$dbms='mysql';
$dbName='admin';
$user='root';
$pwd='905407339';
$host='localhost';
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);
$query="select * from user";
$res=$pdo->query($query);
print_r($res);
}catch(Exception $e){
die("Error!:".$e->getMessage().'<br>');
}

運行結果為:

PDOStatement Object ( [queryString] => select * from user )

如果要看查詢的具體結果,可以通過foreach語句完成循環輸出

例如:

foreach($res as $val){
echo $val['username']."----".$val['password'].'<br>';
}

運行結果為:

107lab----e10adc3949ba59abbe56e057f20f883e
admin----123456

說明:如果要查看foreach的詳細用法請查看:https://www.jb51.net/article/68786.htm

query()與exec()

query可以實現所有exec的功能

例如:

$dbms='mysql';//數據庫類型
$dbName='admin';//使用的數據庫
$user='root';//數據庫連接用戶名
$pwd='905407339';//數據庫連接密碼
$host='localhost';//數據庫主機名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);//初始化一個PDO對象,就是創建了數據庫連接對象$pdo
$query="insert into user(username,password) values('admin','123456')";//需要執行的sql語句
$res=$pdo->query($query);//執行添加語句并返回受影響行數
echo "數據添加成功,受影響行數為: ".$res->rowCount();
}catch(Exception $e){
die("Error!:".$e->getMessage().'<br>');
}

運行結果為:

數據添加成功,受影響行數為: 1

注:

1、query和exec都可以執行所有的sql語句,只是返回值不同而已。
2、query可以實現所有exec的功能。
3、當把select語句應用到 exec 時,總是返回 0

預處理語句----prepare()語句和execute()語句

預處理語句包括prepare()和execute()兩種方法。首先,通過prepare()方法做查詢準備工作,然后通過execute()方法執行查詢,并且還可以通過bindParam()方法來綁定參數給execute()方法,語法如下:

PDOStatement PDO::prepare(string statement[,array driver_options])
bool PDOStatement::execute([array input_parameters])

例如:

在PDO中通過預處理語句prepare()和execute()執行SQL查詢語句,并且應用while()語句和fetch()方法完成數據的循環輸出

$dbms='mysql';//數據庫類型
$dbName='admin';//使用的數據庫
$user='root';//數據庫連接用戶名
$pwd='905407339';//數據庫連接密碼
$host='localhost';//數據庫主機名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
  $pdo=new PDO($dsn,$user,$pwd);//初始化一個PDO對象,就是創建了數據庫連接對象$pdo
  $query="select * from user";//需要執行的sql語句
  $res=$pdo->prepare($query);//準備查詢語句
  $res->execute();
  while($result=$res->fetch(PDO::FETCH_ASSOC)){
    echo $result['id']." ".$result['username']." ".$result['password'].'<br>';
  }
}catch(Exception $e){
  die("Error!:".$e->getMessage().'<br>');
}

運行結果為:

1 107lab e10adc3949ba59abbe56e057f20f883e
4 admin 123456
5 admin 123456

看完上述內容,你們對怎么在php中利用PDO執行SQL語句有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女