加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_商丘站长网 (https://www.0370zz.com/)- AI硬件、CDN、大数据、云上网络、数据采集!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

哪些方式能够做到 php操作数据库?

发布时间:2023-07-05 11:01:43 所属栏目:PHP教程 来源:互联网
导读:   这篇文章主要介绍“php操作数据库的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php操作数据库的方法有哪些
  这篇文章主要介绍“php操作数据库的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php操作数据库的方法有哪些”文章能帮助大家解决问题。
 
  一、SQL语句
 
  SQL语句在数据库中是一种通用的查询语言,用于通过语句操作数据库,完成数据的增、删、改、查等操作。通过PHP中的SQL语句操作数据库,可以使用mysql_query()函数、mysqli_query()函数和PDO预处理语句等方式。
 
  1.mysql_query()函数
 
  mysql_query()函数是PHP中用于执行SQL语句的函数。使用该函数需要与MySQL数据连接,然后通过该函数传入SQL语句实现对数据的操作。例如,插入数据使用INSERT命令:
 
  <?php
 
  $con = mysql_connect("localhost","root","password");
 
  mysql_select_db("my_db", $con);
 
  mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
 
  VALUES ('Peter', 'Griffin', '35')");
 
  mysql_close($con);
 
  ?>
 
  2.mysqli_query()函数
 
  mysqli_query()函数是PHP中用于带有参数绑定的SQL语句的函数。与mysql_query()函数不同的是mysqli_query()函数支持带有参数绑定的SQL语句。例如,插入数据使用INSERT命令可以写成:
 
  <?php
 
  $mysqli = new mysqli("localhost", "root", "password", "my_db");
 
  $stmt = $mysqli->prepare("INSERT INTO Persons (FirstName, LastName, Age) VALUES (?, ?, ?)");
 
  $stmt->bind_param("ssi", $fname, $lname, $age);
 
  $fname = "Peter";
 
  $lname = "Griffin";
 
  $age = 35;
 
  $stmt->execute();
 
  $stmt->close();
 
  $mysqli->close();
 
  ?>
 
  3.PDO预处理语句
 
  PDO(PHP Data Objects)是一种PHP扩展,可以用于访问和操作不同类型的数据库,包括MySQL、Oracle和SQL Server等。通过PDO预处理语句,我们可以根据传入的参数来执行SQL语句。例如,插入数据使用INSERT命令:
 
  <?php
 
  $pdo = new PDO("mysql:host=localhost;port=3306;dbname=my_db", "root", "password");
 
  $statement = $pdo->prepare("INSERT INTO Persons (FirstName, LastName, Age) VALUES (:fname, :lname, :age)");
 
  $statement->bindParam(':fname', $fname);
 
  $statement->bindParam(':lname', $lname);
 
  $statement->bindParam(':age', $age);
 
  $fname = "Peter";
 
  $lname = "Griffin";
 
  $age = 35;
 
  $statement->execute();
 
  $pdo = null;
 
  ?>
 
  二、PDO类
 
  PDO类是PHP中用于与数据库进行交互的一种封装。通过PDO类来连接数据库,我们可以使用prepare()方法创建预处理语句,在SQL语句上增加参数,然后将SQL语句和数据一起提供给execute()方法。PDO类中还提供了beginTransaction()和commit()等方法,用于开启和提交事务。
 
  <?php
 
  $pdo = new PDO("mysql:host=localhost;port=3306;dbname=my_db", "root", "password");
 
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
  $pdo->beginTransaction();
 
  try {
 
      $statement = $pdo->prepare("INSERT INTO Persons (FirstName, LastName, Age) VALUES (?, ?, ?)");
 
      $statement->bindParam(1, $fname);
 
      $statement->bindParam(2, $lname);
 
      $statement->bindParam(3, $age);
 
      $fname = "Peter";
 
      $lname = "Griffin";
 
      $age = 35;
 
      $statement->execute();
 
      $pdo->commit();
 
  }
 
  catch(PDOException $e) {
 
      $pdo->rollback();
 
      echo "Error: " . $e->getMessage();
 
  }
 
  $pdo = null;
 
  ?>
 
  三、MySQLi类
 
  MySQLi类是PHP中使用MySQL的一种扩展库,其提供的功能比mysql_*函数更加强大和安全,支持新的MySQL服务器特性,例如事务和存储过程等。使用MySQLi类需要通过new关键字创建一个mysqli类的实例,然后调用connect()方法连接到MySQL服务器。
 
  <?php
 
  $mysqli = new mysqli("localhost", "root", "password", "my_db");
 
  $mysqli->query("INSERT INTO Persons (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')");
 
  $mysqli->close();
 
  ?>
 

(编辑:开发网_商丘站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!