我的PDO 类
<?php /* public function db_insert($sql) #插入数据 public function db_delete($sql) #删除数据 public function db_update($sql) #更新数据 public function db_getOne($sql) #获取一条数据 public function db_getAll($sql) #获取多条数据 public function db_tran_start() #开启事务 public function db_tran_commit() #事务提交 public function db_tran_rollback() #事务回滚 public function db_prepare($sql ,$params ) #预编译机制 */ header("content-type:text/html;charset=utf-8"); class MePDO{ // 定义属性 private $dsn; private $user; private $password; private $pdo; //定义构造函数 public function __construct($arr=array()){ $this->dsn = isset($arr['dsn'])?$arr['dsn']:'mysql:host=localhost;dbname=project;'; $this->user = isset($arr['user'])?$arr['user']:'root'; $this->password = isset($arr['password'])?$arr['password']:'759114'; $this->pdo= new PDO($this->dsn,$this->user,$this->password); #实例化pdo对象 } //利用PDO实现数据库操作 /* @param string $sql 对sql语句进行判定 */ private function _Exec($sql){ try{ #进行错误处理 $res = $this->pdo->exec($sql); if(!$res){ #语句错误,抛出异常 throw new PDOException('出错啦!'); }else{ return $res; } } catch(PDOException $e){ echo $e->getMessage(); #输出异常信息 echo "<br>"; echo "错误所在行:".$e->getLine()."<br>"; echo "错误编号:".$this->pdo->errorInfo()[1]."<br>"; echo "错误信息:".$this->pdo->errorInfo()[2]."<br>"; exit(); } } // 进行插入操作 /* * @param string $sql *@return int 受影响行数 */ public function db_insert($sql){ $res = $this->_Exec($sql); #执行操作 return $this->pdo->lastInsertId(); } // 进行插入操作 /* * @param string $sql *@return int 受影响行数 */ public function db_delete($sql){ $affected = $this->_Exec($sql); #执行操作 return $affected; } //进行更新操作 /* @param string $sql 要插入的sql语句 @retutn int 受影响的行数 */ public function db_update($sql){ $affected = $this->_Exec($sql); #执行操作 return $affected; #返回受影响的行数 } // 判断查询语句的语法是否正确 private function Iserror($sql){ try{ //执行语句 $res = $this->pdo->query($sql); if(!$res){ #语句错误,抛出异常 throw new PDOException('出错啦!'); } return $res; //语句正确 }catch(PDOException $e){ echo $e->getMessage(); #输出错误信息 echo "<br>"; echo "错误所在行:".$e->getLine()."<br>"; echo "错误编号:".$this->pdo->errorInfo()[1]."<br>"; echo "错误信息:".$this->pdo->errorInfo()[2]."<br>"; exit(); } } //进行获取操作 /* @param string $sql @return array 返回一个数组 */ public function db_getOne($sql){ $stmt = $this->Iserror($sql); #执行sql 语句进行查询, 与exec 方法不同 $row = $stmt->fetch(PDO::FETCH_ASSOC); #返回一个关联数组 return $row; } #获取多行数据 /* @param string $sql 要执行的语句 @return array 返回一个数组 */ public function db_getAll($sql){ $stmt = $this->Iserror($sql); $rows =$stmt->fetchAll($stmt,PDO::FETCH_ASSOC); return $rows; } //pdo 事务处理 /* Tran_start 开启事务 @param string $sp 保存点,默认是sp1 @return boolean */ public function db_tran_start($sp='sp1'){ #执行语句,开启事务 $res = $this->pdo->beginTransaction(); return true; } /* 事务提交 @return boolean */ public function db_tran_commit(){ $this->pdo->commit(); } //事务回滚 public function db_tran_rollback(){ $this->rollBack(); } //预编译处理 /* @param string $sql #sql 语句中使用 ? 作为占位符 @param array $params @param array $arr */ public function db_prepare($sql ,$params ){ #prepare的 预编译语句不需要 Iserror判断 $stmt = $this->pdo->prepare($sql); #执行语句 $stmt->execute($params); $res = $stmt->fetchAll(PDO::FETCH_ASSOC); return $res; } }
以上就介绍了我的PDO 类,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ramai pengguna akan memilih jenama Huawei apabila memilih jam tangan pintar Antaranya, Huawei GT3pro dan GT4 adalah pilihan yang sangat popular. Apakah perbezaan antara Huawei GT3pro dan GT4? 1. Rupa GT4: 46mm dan 41mm, bahan cermin kaca + badan keluli tahan karat + cangkang belakang gentian resolusi tinggi. GT3pro: 46.6mm dan 42.9mm, bahannya ialah kaca nilam + badan titanium/badan seramik + cangkerang belakang seramik 2. GT4 yang sihat: Menggunakan algoritma Huawei Truseen5.5+ terkini, hasilnya akan lebih tepat. GT3pro: Penambahan elektrokardiogram ECG dan saluran darah serta keselamatan

HQL dan SQL dibandingkan dalam rangka kerja Hibernate: HQL (1. Sintaks berorientasikan objek, 2. Pertanyaan bebas pangkalan data, 3. Keselamatan jenis), manakala SQL mengendalikan pangkalan data secara langsung (1. Piawaian bebas pangkalan data, 2. Boleh laku kompleks pertanyaan dan manipulasi data).

"Penggunaan Operasi Bahagian dalam OracleSQL" Dalam OracleSQL, operasi bahagi ialah salah satu operasi matematik yang biasa. Semasa pertanyaan dan pemprosesan data, operasi pembahagian boleh membantu kami mengira nisbah antara medan atau memperoleh hubungan logik antara nilai tertentu. Artikel ini akan memperkenalkan penggunaan operasi pembahagian dalam OracleSQL dan memberikan contoh kod khusus. 1. Dua cara operasi bahagi dalam OracleSQL Dalam OracleSQL, operasi bahagi boleh dilakukan dalam dua cara berbeza.

Oracle dan DB2 ialah dua sistem pengurusan pangkalan data hubungan yang biasa digunakan, setiap satunya mempunyai sintaks dan ciri SQL tersendiri. Artikel ini akan membandingkan dan membezakan antara sintaks SQL Oracle dan DB2, dan memberikan contoh kod khusus. Sambungan pangkalan data Dalam Oracle, gunakan pernyataan berikut untuk menyambung ke pangkalan data: CONNECTusername/password@database Dalam DB2, pernyataan untuk menyambung ke pangkalan data adalah seperti berikut: CONNECTTOdataba

Apakah Identity dalam SQL? Contoh kod khusus diperlukan Dalam SQL, Identity ialah jenis data khas yang digunakan untuk menjana nombor penambahan automatik. Ia sering digunakan untuk mengenal pasti setiap baris data dalam jadual. Lajur Identiti sering digunakan bersama dengan lajur kunci utama untuk memastikan setiap rekod mempunyai pengecam unik. Artikel ini akan memperincikan cara menggunakan Identiti dan beberapa contoh kod praktikal. Cara asas untuk menggunakan Identity ialah menggunakan Identit semasa membuat jadual.

Tafsiran teg SQL dinamik MyBatis: Penjelasan terperinci tentang penggunaan teg Set MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik Ia menyediakan banyak teg SQL dinamik dan boleh membina pernyataan operasi pangkalan data secara fleksibel. Antaranya, tag Set ialah tag yang digunakan untuk menjana klausa SET dalam kenyataan UPDATE, yang sangat biasa digunakan dalam operasi kemas kini. Artikel ini akan menerangkan secara terperinci penggunaan teg Set dalam MyBatis dan menunjukkan kefungsiannya melalui contoh kod tertentu. Apakah itu Set tag Set tag digunakan dalam MyBati

Fungsi bermaksud fungsi. Ia adalah blok kod yang boleh digunakan semula dengan fungsi tertentu Ia boleh menerima parameter input, melakukan operasi tertentu, dan mengembalikan hasil daripada blok yang boleh digunakan semula. kod untuk meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod.

Mengapa Alat Snipping Tidak Berfungsi pada Windows 11 Memahami punca masalah boleh membantu mencari penyelesaian yang betul. Berikut ialah sebab utama Alat Snipping mungkin tidak berfungsi dengan betul: Focus Assistant dihidupkan: Ini menghalang Snipping Tool daripada dibuka. Aplikasi rosak: Jika alat snipping ranap semasa pelancaran, ia mungkin rosak. Pemacu grafik lapuk: Pemacu yang tidak serasi mungkin mengganggu alat snipping. Gangguan daripada aplikasi lain: Aplikasi lain yang sedang berjalan mungkin bercanggah dengan Alat Snipping. Sijil telah tamat tempoh: Ralat semasa proses naik taraf boleh menyebabkan penyelesaian mudah ini sesuai untuk kebanyakan pengguna dan tidak memerlukan sebarang pengetahuan teknikal khusus. 1. Kemas kini apl Windows dan Microsoft Store
