Mysql学习(4)

前言

需要向mysql数据库添加100个用户,请问如何实现

正文

通常我们的一条sql在db接收到最终执行完毕返回可以分为下面三个过程:
1. 词法和语义解析
2. 优化sql语句,制定执行计划
3. 执行并返回结果

预编译语句的优势在于归纳为:一次编译、多次运行,省去了解析优化等过程;此外预编译语句能防止sql注入。

dml数据操作语句

//创建预编译对象
$sql = "insert into stu(id,cost) values(?,?)";
$mysql_stmt = $mysql->prepare($sql);
//绑定参数
$id = 3;
$cost = 40;
//给问号赋值
$mysql_stmt->bind_param("ii",$id,$cost);
//执行
$res = $mysql_stmt->execute();
if(!$res) {
    die("操作失败".$mysql_stmt->error);
}
else {
    echo "操作ok";
}

dql数据查询语句

//创建一个预定义的对象 ? 站位
$sql = "select * from stu where id > ?";
$mysql_stmt = $mysql->prepare($sql);
$id = 1;
//绑定参数
$mysql_stmt->bind_param("i",$id);
$mysql_stmt->bind_result($id,$cost);
//执行
$mysql_stmt->execute();
//取结果集
while ($mysql_stmt->fetch()){
    echo "$id $cost <br>";
}
//资源关闭
$mysql_stmt->free_result();
//预编译关闭
$mysql_stmt->close();

一些常用的mysqli函数

mysqli_result类
属性
列 $field_count;
行 $num_rows;
方法
fetch_fields() //列信息
被返回的对象的属性为
    name - 列名
    table - 该列所在的表名
    max_length - 该列最大长度
    not_null - 1,如果该列不能为 NULL
    primary_key - 1,如果该列是 primary key
    unique_key - 1,如果该列是 unique key
    multiple_key - 1,如果该列是 non-unique key
    numeric - 1,如果该列是 numeric
    blob - 1,如果该列是 BLOB
    type - 该列的类型
    unsigned - 1,如果该列是无符号数
    zerofill - 1,如果该列是 zero-filled
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值