<?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
相关推荐
tryxr28 分钟前
如何基于UDP实现可靠传输unable code1 小时前
内存取证-卡比卡比卡比~央千澈~1 小时前
抖音弹幕游戏开发之第8集:pyautogui基础 - 模拟键盘操作·优雅草云桧·卓伊凡日更嵌入式的打工仔1 小时前
LAN9253中文注释第七章九丝城主2 小时前
1V1音视频对话3--优化TURN 为生产安全版Web打印3 小时前
Phpask(php集成环境)之16 怎样彻底停用一个网站临水逸3 小时前
飞牛fnos 2025 漏洞Java跨域URL浏览器独行soc3 小时前
2026年渗透测试面试题总结-24(题目+回答)天荒地老笑话么4 小时前
NAT 下虚拟机为什么能上网:路由表 + SNAT 证明Bruce_Liuxiaowei5 小时前
渗透测试中的提权漏洞:从低权限到系统控制的全解析