面向过程之查询2
面向过程之查询
面向过程之新增预处理
面向过程之更新删除数据
面向过程1
PHP Manual
页面展示……
事务管理2
事务管理1
insert account
create table account
预处理查询及结果绑定处理
登陆页面,防sql注入
登陆页面,防sql注入
预处理sql
返回多个结果集3
返回多个结果集2
返回多个结果集
multi_query($sql)
以第一条结果为准
zendstudio 安装emmet http://jingyan.baidu.com/article/acf728fd2ef0fcf8e510a3c0.html
Tab键自动生生成
http://www.imooc.com/wenda/detail/576281
https://www.php.net/manual/en/mysqli-stmt.get-result.php
https://www.php.net/manual/en/mysqli-stmt.bind-result.php
$stmt->store_result(); $stmt->num_rows; 这句好像得搭配上句才可以使用
https://bbs.csdn.net/topics/380249341
https://www.imooc.com/qadetail/137928
https://www.php.net/manual/zh/control-structures.alternative-syntax.php
https://www.php.net/manual/zh/control-structures.alternative-syntax.php
约束有多种,主键约束primary key/唯一约束unique key/外键约束foreign key/非空约束not null/默认约束default,基本就这几种,primary key 也可以写成key 和其他约束并不冲突,你可以理解为primary key是最常用最基本约束写成key也可以被sql引擎识别,但是如果是其他如唯一约束(unique key)或者外键约束(foreign key)就必须写清楚,否则会报错,其实你可以在cmd命令行里实践一下就清楚了.
来源:
https://www.imooc.com/qadetail/259440
检测开启了什么扩展的函数
get_loaded_extensions(),返回的是一个数组
//print_r(extension_loaded('mysqli'));
//预处理语句 -参数绑定
$mysqli = new mysqli('localhost','root','123456','shopsn');
if($mysqli->errno){
die('Connet Error'.$mysqli->error);
}
$sql = "Insert atext(username,password,age) value (?,?,?)";
//$sql = 'select * from atext where username = ? and password = ?';
$mysqli_stmt = $mysqli->prepare($sql);
$username = 'admin';
$password = md5(123456);
$age = 18;
// ssi 规定参数的数据类型,防止SQL注入
$mysqli_stmt->bind_param('ssi',$username,$password,$age);
if($mysqli_stmt->execute()){
echo $mysqli_stmt->insert_id;
//$mysqli_stmt->bind_result($id,$username,$age);
}else{
$mysqli_stmt->error;
}
$mysqli_stmt->free_result();
$mysqli_stmt->close();
$mysqli->close();
$mysqli -> autocommit(false) 关闭mysql中的自动提交
$mysqli -> commit() 提交
$mysqli -> autocommit(true) 开启mysql自动提交
$mysqli -> rollback() 事务回滚
$mysqli_stmt -> bind_result() 绑定结果集中值到变量
$mysqli_stmt -> fetch() 遍历结果集
$mysqli_stmt -> free_result() 释放结果集
$mysqli_stmt -> close() 关闭预处理语句
可以用预处理语句来防止sql注入