query("set names" /> query("set names" />
返回顶部
首页 > 资讯 > 数据库 >PHP操作mysql(mysqli + PDO)
  • 639
分享到

PHP操作mysql(mysqli + PDO)

PHP操作mysql(mysqli+PDO) 2016-04-05 14:04:46 639人浏览 猪猪侠
摘要

【Mysqli面向对象方式操作数据库】 添加、修改、删除数据 $mysqli = new mysqli("localhost","root","123456","test"); $mysqli->query("set names

PHP操作mysql(mysqli + PDO)

Mysqli面向对象方式操作数据库

添加、修改、删除数据

$mysqli = new mysqli("localhost","root","123456","test");
$mysqli->query("set names utf8");
//添加数据
$result = $mysqli->query("INSERT INTO users(name,money) VALUE ("张三",10)");
$result = $mysqli->query("INSERT INTO users(name,money) VALUE ("李四",200)");

//修改数据
$result = $mysqli->query("UPDATE users SET money=money+10 WHERE id = 3");

//删除数据
$result = $mysqli->query("DELETE FROM users WHERE id=3");

var_dump($result);

查询数据

header("content-type:text/html;charset=utf-8");
$mysqli = new mysqli("localhost","root","123456","test");
$mysqli->query("set names utf8");

$result = $mysqli->query("SELECT * FROM users");
$data = $result->fetch_all(MYSQLI_ASSOC);
var_dump($data);

事务控制

header("content-type:text/html;charset=utf-8");
$mysqli = new mysqli("localhost","root","123456","test");
$mysqli->query("set names utf8");
$mysqli->autocommit(false); //开启事务
$sql1 = "UPDATE users SET money=money-10 where id=1";
$sql2 = "UPDATE users SET money=money+10 where id=20";
$mysqli->query($sql1);
$r1 = $mysqli->affected_rows;
$mysqli->query($sql2);
$r2 = $mysqli->affected_rows;
if($r1>0 && $r2>0){
    $mysqli->commit(); //事务提交
    echo "操作成功";
}else{
    $mysqli->rollback(); //事务回滚
    echo "操作失败";
}

预处理-增删改操作

header("content-type:text/html;charset=utf-8");
$mysqli = new mysqli("localhost","root","123456","test");
$mysqli->query("set names utf8");
$sql = "INSERT INTO users(name,money) VALUE(?,?)";
$stmt = $mysqli->prepare($sql);

$name = "王小小";
$money = 500;
$stmt->bind_param("si",$name,$money);
$result = $stmt->execute();
var_dump($result);

$name = "王大大";
$money = 600;
$stmt->bind_param("si",$name,$money);
$result = $stmt->execute();
var_dump($result);

预处理-查询操作

header("content-type:text/html;charset=utf-8");
$mysqli = new mysqli("localhost","root","","test");
$mysqli->query("set names utf8");
$sql = "SELECT * FROM users WHERE id>?";
$stmt = $mysqli->prepare($sql);
$id=1;
$stmt->bind_param("i",$id);
$stmt->bind_result($id,$name,$money);
$stmt->execute();

while($stmt->fetch()){
    $data[] = [
        "id"=>$id,
        "name"=>$name,
        "money"=>$money
    ];
}
var_dump($data);

【PDO方式操作数据库

PDO查询数据

header("content-type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=test";
$pdo = new PDO($dsn,"root","123456");
$pdo->exec("set names utf8");
$sql = "SELECT * FROM users";
$stmt = $pdo->query($sql);
//$data = $stmt->fetch(PDO::FETCH_ASSOC);
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($data);

PDO增删改数据

header("content-type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=test";
$pdo = new PDO($dsn,"root","123456");
$pdo->exec("set names utf8");
$sql = "UPDATE users SET money=500 WHERE id=1";
$result = $pdo->exec($sql);
var_dump($result);

PDO事务控制

header("content-type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=test";
$pdo = new PDO($dsn,"root","123456");
$pdo->exec("set names utf8");
$pdo->beginTransaction(); //开启事务
$sql1 = "UPDATE users SET money=money-100 WHERE id=1";
$r1 = $pdo->exec($sql1);

$sql2 = "UPDATE1 users SET money=money+100 WHERE id=2";
$r2 = $pdo->exec($sql2);

if($r1>0 && $r2>0){
    $pdo->commit(); //事务提交
    echo "操作成功";
}else{
    $pdo->rollBack(); //事务回滚
    echo "操作失败";
}
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,1);
//var_dump($result);

PDO预处理

header("content-type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=test";
$pdo = new PDO($dsn,"root","123456");
$pdo->exec("set names utf8");

//$sql = "SELECT * FROM users WHERE id>:id";
$sql = "UPDATE users SET money=1000 WHERE id=:id";
$stmt = $pdo->prepare($sql);

$id = 4;
$stmt->bindParam(":id",$id);

//$stmt->bindValue(1,2);

$result = $stmt->execute();
var_dump($result);

//$data  = $stmt->fetchAll(PDO::FETCH_ASSOC);
//var_dump($data);

常见的SQL注入方式及防范措施

header("content-type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=test";
$pdo = new PDO($dsn,"root","123456");
$pdo->exec("set names utf8");
$id = isset($_GET["id"])?$_GET["id"]:1;
$sql = "SELECT * FROM users WHERE id=".$id;
$stmt = $pdo->query($sql);
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($data);

//SELECT * FROM users WHERE id=1
//SELECT * FROM users WHERE id=1 or 1=1    SELECT * FROM users
//SELECT * FROM users WHERE id=1;drop table test;--

header("content-type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=test";
$pdo = new PDO($dsn,"root","123456");
$pdo->exec("set names utf8");

$sql = "SELECT * FROM users WHERE id=:id";
$stmt = $pdo->prepare($sql);
$id = isset($_GET["id"])?$_GET["id"]:1;
$stmt->bindParam(":id",$id);

$result = $stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($data);
您可能感兴趣的文档:

--结束END--

本文标题: PHP操作mysql(mysqli + PDO)

本文链接: https://lsjlt.com/news/3779.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PHP操作mysql(mysqli + PDO)
    【Mysqli面向对象方式操作数据库】 添加、修改、删除数据 $mysqli = new mysqli("localhost","root","123456","test"); $mysqli->query("set names...
    99+
    2016-04-05
    PHP操作mysql(mysqli + PDO)
  • PHP PDO 与 mysqli:比较和对比
    PDO PDO 是一个面向对象的数据库访问抽象层,它为 PHP 提供了一个统一的接口,允许您使用相同的代码与不同的数据库(如 MySQL、PostgreSQL、Oracle)进行交互。PDO 隐藏了底层数据库连接的复杂性,简化了数据库操作...
    99+
    2024-02-17
    PHP, PDO, mysqli, 数据库交互
  • PHP中的PDO操作指南
    在PHP中,使用PDO操作数据库可以提高代码的安全性和移植性。PDO是一种PHP的扩展,为数据库访问提供了一个统一的接口,支持多种数据库类型。本文将为大家介绍PDO的基本用法和注意事项。1.连接数据库使用PDO连接数据库需要提供以下参数:$...
    99+
    2023-05-21
    PHP pdo 操作指南
  • PHP 中的 MySQLi 和 PDO 的区别是什么?
    mysqli 和 pdo 是 php 中连接 mysql 数据库的两种扩展:功能:mysqli:面向对象和过程式 api,仅支持 mysqlpdo:抽象数据库接口,支持多个数据库错误处理...
    99+
    2024-05-12
    pdo mysqli mysql oracle
  • PHP PDO 连接操作数据库
    PHP PDO 连接操作数据库 目录: PHP PDO 连接操作数据库PDO链接mysqlPDO断开链接PDO创建数据库PDO创建表PDO插入数据插入多条数据:预处理:PDO查询数据PDO事务...
    99+
    2023-09-05
    数据库 php mysql web
  • PHP PDO与MySQLi比较:哪种更适合你的项目?
    性能 PHP在性能方面优于Python。PHP是一款编译型语言,而Python是一款解释型语言。这意味着PHP代码在运行之前必须被编译成机器码,而Python代码在运行时被解释。这使得PHP代码运行速度更快,尤其是在处理大型数据和复杂计算...
    99+
    2024-02-13
    PHP和Python都是流行的编程语言 但它们在性能 安全性 开发成本和应用场景方面存在一些关键区别。在本文中 我们将比较这两种语言 以帮助您选择最适合您项目的语言。
  • PHP怎么使用MySQLi中的MySQLI_result对象操作
    这篇文章主要为大家展示了“PHP怎么使用MySQLi中的MySQLI_result对象操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP怎么使用MySQLi中的MySQLI_result对...
    99+
    2023-06-20
  • php如何用PDO操作大数据对象
    目录什么是大数据对象直接操作大数据对象会怎么样?正确的姿势总结什么是大数据对象 “大”通常意味着“大约 4kb 或以上”,尽管某些数据库在数据达到“大”之前可以轻松地处理多达 32...
    99+
    2024-04-02
  • PHP PDO操作数据库的方法有哪些
    这篇文章主要介绍了PHP PDO操作数据库的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP PDO操作数据库的方法有哪些文章都会有所收获,下面我们一起来看看吧。安装 PDO 扩展在开始之前,请确...
    99+
    2023-07-05
  • PHP操作MySQL
    PHP对数据库进行操作 前言 时间不足,只为二级准备的粗略笔记 很多事情没有答案 一、使用PHP进行MySQL编程         1、php操作MySQL的介绍:                 可以使用拍php内置的mys...
    99+
    2023-10-03
    数据库 服务器 mysql
  • php实现pdo数据库操作类过程详解
    目录数据库操作类的优点代码调用数据库表格结构SQL数据库操作类的优点 优点可以说是非常多了,常见的优点就是便于维护、复用、高效、安全、易扩展。例如PDO支持的数据库类型是非常多的,与...
    99+
    2022-12-21
    php pdo数据库 php操作pdo数据库
  • PHP扩展编译安装实操指南:PDO MySQL篇
    PHP扩展编译安装实操指南:PDO MySQL篇 随着互联网和数据库技术的发展,PHP作为一种广泛应用的服务端脚本语言,与MySQL等数据库的结合越来越紧密。在PHP中,PDO是一个数...
    99+
    2024-03-08
    mysql php 扩展 php脚本
  • PHP如何初始化PDO及原始SQL语句操作
    目录PDO 实例dns 参数PDO 对象属性查询语句普通查询及遍历查询结果集(数组、对象)查询结果集(类)查询结果集(指定字段)增、删、改操作增加操作修改操作删除操作总结PDO 实例...
    99+
    2024-04-02
  • php中mysql和mysqli有什么区别
    这篇文章主要介绍了php中mysql和mysqli有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。区别:mysqli是永远连接函数,而mysql是非持继连接函数。my...
    99+
    2023-06-15
  • PHP PDO入门:轻松掌握数据库操作的利器
    一、安装PDO扩展库 首先,您需要确保您的PHP环境已安装PDO扩展库。通常情况下,PHP默认会安装PDO扩展库,但如果您不确定是否安装了该扩展库,可以使用以下命令进行检查: php -m | grep pdo 如果命令输出中包含“PD...
    99+
    2024-02-13
    PHP PDO 数据库操作 统一接口 MySQL PostgreSQL SQLite
  • php操作mysql(数据库常规操作)
    php操作数据库八步走 ...
    99+
    2016-04-04
    php操作mysql(数据库常规操作)
  • php中PDO库的作用是什么
    php中PDO库的作用是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库...
    99+
    2023-06-14
  • PDO中操作大数据对象的方法
    这篇文章主要介绍了PDO中操作大数据对象的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PDO操作大数据对象一般在数据库中,我们保存的都...
    99+
    2024-04-02
  • PHP操作MySQL数据库
    PHP操作MySQL数据库的步骤如下:1. 连接数据库:使用`mysqli_connect()`函数或者`PDO`类来建立与MySQ...
    99+
    2023-09-05
    php
  • 如何使用PHP的PDO封装可操作性强的数据库类
    PHP用PDO如何封装简单易用的DB类 引言:在PHP开发中,数据库是非常重要的一部分。为了更好地操作数据库,我们可以使用PDO(PHP 数据对象)扩展来连接、查询和操作数据库。本文将...
    99+
    2024-02-26
    封装 简单 db类
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作