<?php
session_start();
#面向过程
function create_connection(){
$conn = mysqli_connect('127.0.0.1','root','123456','learn_2') or die("数据库连接失败");
mysqli_query($conn,"set names utf8");
return $conn;
}
#面向对象
function create_connection_opp(){
$conn = new mysqli('127.0.0.1','root','123456','learn_2') or die("数据库连接失败");
$conn->query("set names utf8");
#$conn->set_charset('utf8');
return $conn;
}
function test_mysqli_opp(){
$conn = create_connection_opp();
$sql = "select * from user";
result = conn->query($sql);
//获取结果集行数
#echo $result->num_rows;
rows = result->fetch_all();
var_dump($rows);
#关联数组的方式
rows = result->fetch_all(MYSQLI_ASSOC);
var_dump($rows);
foreach (rows as row){
echo $row['username']."<br>" ;
echo $row['password'];
}
}
//mysql预处理功能
function mysqli_prepare_stmt(){
$conn =create_connection_opp();
$sql = "select * from user where username = ?";
//实例化prepared statement预处理对象
stmt = conn->prepare($sql);
#实例化需要将参数进行绑定 "s"代表字符串 "i"整数 "d"小数 "b"二进制
stmt-\>bind_param("s",username);
$username = 'zs';
#要获取查询结果,还需要绑定结果参数。不需要返回结果无需此操作
stmt-\>bind_result(username,$password);
#返回值bool ture执行成功 false执行失败
$stmt->execute();
#调佣结果并进行处理
$stmt->store_result();
while($stmt->fetch()){
echo username,password,'<br>';
}
#输出行数
echo $stmt->num_rows.'<br>';
echo $stmt->affected_rows;
/**
* $sql = "select * from user where username = ? and password = ?";
* stmt-\>bind_param("ss",username,$password);
*/
}
mysqli_prepare_stmt()
?>
php操作数据库
都适、隶仁ミ2024-06-09 14:55
相关推荐
ZHOUPUYU15 小时前
PHP 8.3网关优化:我用JIT将QPS提升300%的真实踩坑录时代的凡人19 小时前
0208晨间笔记今天只学一颗糖20 小时前
1、《深入理解计算机系统》--计算机系统介绍Tony Bai1 天前
告别 Flaky Tests:Go 官方拟引入 testing/nettest,重塑内存网络测试标准消失的旧时光-19431 天前
从 0 开始理解 RPC —— 后端工程师扫盲版Ancelin安心1 天前
FastJson反序列化和Shiro漏洞“αβ”1 天前
网络层协议 -- ICMP协议饭碗、碗碗香1 天前
【Python学习笔记】:Python的hashlib算法简明指南:选型、场景与示例麦聪聊数据1 天前
如何用 B/S 架构解决混合云环境下的数据库连接碎片化难题?Wils0nEdwards1 天前
初中化学1