php实验9

一、了解PDO访问异构数据库的方法(文件命名为SY9_1_PDO-query-exec.php)–PDO类实例化、PDO类query( )方法和exec( )方法。注意激活PDO :php_pdo_mysql.dll

<?php
try {
   
    $db=new PDO("mysql:host=localhost;dbname=pxscj;", "root", "密码");
    //实例化PDO类(创建PDO对象)
}
catch (PDOException $e) {
   
    //捕获异常--PDOException(Exception的简单重写)
    echo "数据库连接失败:".$e->getMessage();
    //getMessage()--PDOException类中定义的方法
}

$db->exec("set names utf8mb4");
//exec()--PDO类的方法(执行没有结果集的SQL语句)

$query="insert into kcb values('606','PHP程序设计',6,48,3)";   //SQL语句
if($affCount = $db->exec($query)) {
   
    //执行SQL语句$query--返回值为受影响记录数
    echo "插入成功,受影响条数为:".$affCount."<br><br>";
}

$query="select * from kcb";
//SQL语句
foreach($db->query($query) as $row) {
   
    //执行SQL语句$query--执行有结果集的SQL语句
    echo "课程号:".$row[0]."<br>";
    //返回的是一个PDOStatement类(型)的对象
    echo "课程名:".$row[1]."<br>";
    //还可以用PDOStatement类的方法fetch()行读
    echo "开课日期:".$row[2]."<br>";
    echo "学时:".$row[3]."<br><br>";
}

?>

在这里插入图片描述

二、PDO事务处理(文件命名为SY9_2_Transaction.php)

  1. 让MySQL支持InnoDB引擎:注释掉my.ini中的skip-innodb(重启MySQL) – 安装勾选则没有此项
  2. 更改表的引擎:(1) mysql -uroot -h127.0.0.1 -p111 (2) use pxscj; (3) alter table kcb type = InnoDB;
<?php
try {
   
    $db=new PDO("mysql:host=localhost;dbname=pxscj","root","密码");     //实例化PDO类(创建PDO对象)
}
catch (PDOException $e) {
                                       //捕获异常--PDOException(Exception的简单重写)
    echo "数据库连接失败:".$e->getMessage();                 //getMessage()--PDOException类中定义的方法
}
try {
   
    $db->exec("set names utf8mb4");                            //exec()--PDO类的方法(执行没有结果集的SQL语句)

    $db->beginTransaction();                                //***事务开始***

    $affrows=$db->exec("insert into kcb values('506','UML系统分析',5,48,3)");
    if(!$affrows)
        throw new PDOException("插入失败1");
    /*$affrows=$db->exec("insert into kcb values('606','PHP程序设计',6,32,2)");
    if(!$affrows)
        throw new PDOException("插入失败2");*/
    echo "插入成功!";
    $db->commit();                                          //***事务结束***--如果全部成功则提交
}
catch (PDOException $e) {
                                      //捕获异常--PDOException(Exception的简单重写)
    echo $e->getMessage();
    $db->rollBack();                                         //回滚(要么成功要么失败)
}
?>

在这里插入图片描述
在这里插入图片描述

三、PDOStatement类的方法fetch( )的应用(文件命名为SY9_3_FETCH-ROW.php)。

<?php
try {
   
    $db=new PDO("mysql:host=localhost;dbname=pxscj","root","密码");     //只需要改DSN(数据库源名)
}
catch (PDOException $e) {
                                         //捕获异常--PDOException(Exception的简单重写)
    echo "数据库连接失败:".$e->getMessage();                   //getMessage()--PDOException类中定义的方法
}
$db->exec("set names utf8mb4");                                 //exec()--PDO类的方法(执行没有结果集的SQL语句)
$sql="select * from XSB where 性别=0";                         //SQL语句
$result=$db->query($sql);                                      //执行SQL语句$sql-返回一个PDOStatement类(型)对象
echo "<table border='1' align='center'>";                        //是一个结果集
echo "<tr><td>学号</td><td>姓名</td><td>总学分</td></tr>";
while($row=$result->fetch(PDO::FETCH_NUM))                     //fetch()是PDOStatement类的方法(从结果集行读)
{
                                                                 //返回的是一个键名为数字(PDO::FETCH_NUM)数组
    list($XH,$
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的PHP连接MySQL数据库的实验报告。 一、实验目的 通过本实验,掌握PHP连接MySQL数据库的基本方法及操作。 二、实验环境 操作系统:Windows 10 64位 软件环境:XAMPP 7.4.12 三、实验步骤 1. 安装XAMPP并启动Apache和MySQL服务。 2. 创建一个名为“test”的MySQL数据库,并创建一个名为“students”的数据表。 3. 编写PHP代码连接MySQL数据库。 4. 运行PHP代码并输出结果。 具体代码如下: ``` <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "test"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 插入数据 $sql = "INSERT INTO students (name, age, gender) VALUES ('Tom', '18', 'male')"; if ($conn->query($sql) === TRUE) { echo "新记录插入成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } // 查询数据 $sql = "SELECT id, name, age, gender FROM students"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. " - Gender: " . $row["gender"]. "<br>"; } } else { echo "0 结果"; } // 关闭连接 $conn->close(); ?> ``` 四、实验结果 运行上述PHP代码后,输出结果如下: ``` 新记录插入成功 id: 1 - Name: Tom - Age: 18 - Gender: male ``` 说明PHP成功连接MySQL数据库,并且成功插入了一条数据并查询出来了。 五、实验总结 通过本实验,我掌握了PHP连接MySQL数据库的基本方法及操作,能够实现数据的插入和查询。同时,我还了解到了XAMPP的基本使用方法,可以快速搭建本地开发环境。在今后的开发中,我将能够灵活运用这些知识,更好地完成项目开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值