💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 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()); //查询错误 ~~~