加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

PHP操作mysql(mysqli + PDO)

发布时间:2020-12-12 02:15:20 所属栏目:MySql教程 来源:网络整理
导读:【Mysqli面向对象方式操作数据库】 添加、修改、删除数据 $mysqli = new mysqli( ' localhost ' , root 123456 test ' );$mysqli - query( set names utf8 ); // 添加数据$result = $mysqli - query(" INSERT INTO users(name, money ) VALUE ( 张三 10 )");

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

添加、修改、删除数据

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

修改数据
$result UPDATE users SET money=+10 WHERE id = 3");

删除数据
$result DELETE FROM users WHERE id=");

var_dump($result);

查询数据

header("content-type:text/html;charset=utf-8");
$mysqli );

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

事务控制

header(content-type:text/html;charset=utf-8);
$mysqli ->autocommit(false); 开启事务
$sql1 = "where id1";
$sql2 20";
$mysqliquery($sql1);
$r1 affected_rows;
$mysqliquery($sql2);
$r2 affected_rows;
if($r1>0 && $r20){
    $mysqlicommit(); 事务提交
    echo 操作成功;
}else{
    $mysqlirollback(); 事务回滚
    echo 操作失败;
}

预处理-增删改操作

header();
$sql money) VALUE(?,?)";
$stmt prepare($sql);

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

$name  "王大大";
$600();
var_dump($result);

预处理-查询操作

header('',1)">>?";
$stmt ($sql);
$idi,$id);
$stmt->bind_result($id,1)">);
$stmt();

while($stmtfetch()){
    $data[] = [
        'id'=>$id,'name'=>$name,'money'=>$money
    ];
}
var_dump($data);

【PDO方式操作数据库】

PDO查询数据

header();
$dsn = "mysql:host=localhost;dbnametest";
$pdo = new PDO($dsn,1)">);
$pdoexec( users";
$stmt = $pdoquery($sql);
//$data (PDO::FETCH_ASSOC);
$data fetchAll(PDO::FETCH_ASSOC);
var_dump($data);

PDO增删改数据

header(500 ";
$result exec($sql);
var_dump($result);

PDO事务控制

header(->beginTransaction(); 100 ";
$r1 ($sql1);

$sql2 = "UPDATE1 users 2";
$r2 ($sql2);

){
    $pdo事务提交
    echo "操作成功";
}{
    $pdorollBack(); 事务回滚
    echo "操作失败";
}
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,1)">//var_dump($result);

PDO预处理

header();

//$sql :id";
$sql 1000 :id";
$stmt ($sql);

$id 4bindParam(":id",$id);

//$stmt->bindValue(1,1)">();
var_dump($result);

//$data  fetchAll(PDO::FETCH_ASSOC);
//var_dump($data);

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

header();
$id = isset($_GET'id'])?$_GET]:;
$sql ".$id;
$stmt query($sql);
$data fetchAll(PDO::FETCH_ASSOC);
var_dump($data);

1
1 or 11     users
1;drop table test;--

header();

$sql ($sql);
$id ();
$data fetchAll(PDO::FETCH_ASSOC);
var_dump($data);

(编辑:李大同)

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

    推荐文章
      热点阅读