## prepare()用法
## prepare(数据库执行语句)
## bindParam() 插入的数据值
## ?,? 占位方法
===============================================
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //链接数据库
$user_name='guofucheng'; //要写入的值
$password= md5("123456"); //要写入的值
$sql="insert into maik (user_name,password) values (?,?)"; //插入数据 ?,?为占位符
$stmt=$db->prepare($sql);
$stmt->bindParam(1,$user_name); //按顺序插入
$stmt->bindParam(2,$password); //按顺序插入
$stmt->execute();
~~~
# 第二种方法:(常用)
## prepare()用法
## prepare(数据库执行语句)
## bindParam() 插入的数据值
<h2>( :名称 )占位方法</h2>
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //链接数据库
$user_name='guofu'; //要插入的值
$password= md5("123456"); //要插入的值
$sql="insert into maik (user_name,password) values (:user_name,:password)"; //用(:名称方法)
$stmt=$db->prepare($sql); //防止SQL注入
$stmt->bindParam(":user_name",$user_name); //用(:名称方法)
$stmt->bindParam(":password",$password);
$stmt->execute();
~~~
# 第三种方法:(经常用:重点)
## 数组方法:
## prepare()用法
## prepare(数据库执行语句)
## 数组[':方法二的名字'=>值]
## $stmt->execute(数组);
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //链接数据库
$user_name='xxxxxs'; //要插入的值
$password= md5("123456"); //要插入的值
$sql="insert into maik (user_name,password) values (:user_name,:password)"; //SQL语句
$data=[':user_name'=>$user_name,':password'=>$password];
$stmt=$db->prepare($sql); //防止MSQL注入
$stmt->execute($data);
~~~
# 修改数据值
:id占位符方法安全防止SQL注入
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //链接数据库
$user_name='laozhuzhu'; //要修改的值
//$sql="insert into maik (user_name,password) values (:user_name,:password)";
$sql="UPDATE maik SET user_name=:name WHERE id>:id"; //修改语句
$data=[':name'=>$user_name,':id'=>6]; //写成数组
$stmt=$db->prepare($sql); //执行操作语句
$stmt->execute($data); //执行值
~~~
# 删除数据值:
:id占位符方法安全防止SQL注入
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //链接数据库
$sql="DELETE FROM maik WHERE id=:id"; //删除数据条件是id
$data=[':id'=>13]; //写成数组
$stmt=$db->prepare($sql); //执行操作语句
$stmt->execute($data); //执行值
~~~
# 查询数据
## fetchAll() //返回所有二维数组
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //链接数据库
$sql="SELECT *FROM maik";
$stmt=$db->prepare($sql); //执行操作语句
$stmt->execute(); //执行准备查询
$stmt->fetchAll(); //返回所有数组
~~~
## fetchAll(PDO::FETCH_ASSOC) //返回所有二维关联数组
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //链接数据库
$sql="SELECT *FROM maik";
$stmt=$db->prepare($sql); //执行操作语句
$stmt->execute(); //执行准备查询
var_dump($stmt->fetchAll(PDO::FETCH_ASSOC)); //返回所有二维关联数组
~~~
## fetchAll(PDO::FETCH_NUM); //返回所有二维索引数组
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //链接数据库
$sql="SELECT *FROM maik";
$stmt=$db->prepare($sql); //执行操作语句
$stmt->execute(); //执行准备查询
var_dump($stmt->fetchAll(PDO::FETCH_NUM)); //返回所有关联索引二维数组
~~~
## fetch(PDO::FETCH_ASSOC)返回一个关联数组
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //链接数据库
$sql="SELECT *FROM maik";
$stmt=$db->prepare($sql); //执行操作语句
$stmt->execute(); //执行准备查询
var_dump($stmt->fetch(PDO::FETCH_ASSOC)); //返回一个关联数组
~~~
## 注意:fetchall返回的是二维数组
## fetch返回的是一维度数组
<br/><br/><br/>
## rowCount()返会Mysql查询条件的所有行数
注意:这里获取的不少Mysql所有行数,是mysql查询条件的所有行数。
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //链接数据库
$sql="SELECT *FROM maik";
$stmt=$db->prepare($sql); //执行操作语句
$stmt->execute(); //执行准备查询
echo $res=$stmt->rowCount();
~~~
## errorCode() 获取错误码
##
## errorinfo() 获取错误信息数组形式
~~~
$sql="SELECT *FROM ddmaik";
$stmt=$db->prepare($sql); //执行操作语句
$stmt->execute(); //执行准备查询
$stmt->fetch(PDO::FETCH_ASSOC); //返回一个关联数组
var_dump( $res=$stmt->errorinfo()); //查询错误
~~~
- 变量删除查找与static静态变量
- 赋值原理
- global涵数引入全局变量使用
- 数据类型
- 数据类型判断is_
- PHP输出
- PHP指针(取址运算)
- PHP运算符
- 常量
- 字符串
- 字符串添加反斜杠函数addslashes($变量)
- htmlspecialchars()转字符实体
- int strcmp()判断2个字符串大小
- strstr() 查找字符串
- 字符串常用系统内置函数
- 控制流之if
- switch判断方法
- while循环
- for循环
- 跳出循环
- PHP文件引文入( include与require)
- PHP文件引入include_once与require_once
- 函数(函数各种应用以及约束方法)
- global 引入函数外的变量
- 函数的递归
- 数组(遍历方法)与( foreach()遍历方法)
- 数组函数
- PHP时间操作
- 常用数学内置函数
- 正则表达式
- PHP 九大超全局变量(内置的)
- 超全局变量$_SERVER的详细介绍
- PHP类
- 类的$this
- 类的构造方法__construct()
- 类的修饰符 public private protected
- 类的继承
- 类的多态(instanceof)方法
- 类的静态方法与常用关键字(final static self parent clone )
- 类的__set() __get() 方法
- 类的重载
- 类的__call()与__callstatic()方法
- 类的抽象类与方法
- 抽象类接口interface (实现子类继承多个抽象类)
- 类的trait (解决单继承的限制)
- 命名空间
- 类的魔术常量以及系统函数
- mysql数据库
- 数据库的概念
- SQL语句规范
- 数据库字段类型
- 字段是属性(创建数据库字段用)
- 数据库操作(增删改)
- 数据表与字段(DDL)(增删改)
- 数据的操作(DML)(增删改)
- 数据的查询数据(最重要最核心经常看)
- 数据库 字符集 引擎 校对等
- cookie创建使用与删除
- session创建使用与删除
- 在cookie禁止的情况下session的使用方法
- session的配置以及session与cookie的区别
- session实战登录
- PHP文件处理函数
- PHP打开读取写入文件
- file_get_contents GET请求接收
- PHP文件上传以及过大报错解决方案
- 验证并控制上传格式与大小
- 判断是否有目录(如果没有就创建目录)
- 上传文件到目录move_uploaded_file()
- 图片上传用class写法
- PDO链接数据库与exec()使用(只能用于增,删,改)
- PDO-推荐方法prepare() 增删改查
- 关于PDO类种事务使用
- 类的单例模式写法
- 自动加载autoload()
- composer安装与使用
- PHP操作XML
- PHP操作JSON
- curl GET与POST请求接收
- 自己封装的一些实用函数
- 微信公众号开发
- 常见问题以及解决
- PHP反序列化HTML
- try catch尝试执行与异常
- json 对象转字符串数组的方法可以在用json_e转数组