-
PDO连接数据库查看全部
-
PDO特性查看全部
-
$pdo->lastInsertId(); 最后插入记录的id查看全部
-
PDOStatement对象的方法: bindColumn():绑定一列到一个PHP变量; getColumnMeta():返回结果集中一列的元数据; columnCount():返回结果集中的列数; setAttribute():设置一个语句属性; getAttribute():检索一个语句属相; errorCode():获取跟上一次语句句柄操作相关的SQLSTATE; errorInfo():获取跟上一次语句句柄操作相关的扩展错误信息; debugDumpParams():打印一条SQL预处理命令; nextRowset():在一个多行集语句句柄中推进到下一个行集;查看全部
-
PDOStatement:: bindParam()将变量绑定到SQL模板中(只能绑定变量而不能为确定的值) //PDOStatement:: bindParam()参数说明(占位符为[:name]情况)(UP推荐使用方式,不容易乱) $sql="INSERT user(username,password,email) VALUES(:username,:password,:email)"; $stmt=$pdo->prepare($sql); //第一个参数为相应的占位符,第二个参数为绑定变量(必须为变量而不能直接指定值,因为bindParam()设计时将第二个参数设定为变量的引用[&$参数二]),第三个变量指定变量类型,(第一,二个参数必填,其他为可选) $stmt->bindParam(":username",$username,PDO::PARAM_STR); $stmt->bindParam(":password",$password,PDO::PARAM_STR); $stmt->bindParam(":email",$email); $username='imooc1'; $password='imooc1'; $email='imooc1@imooc.com'; $stmt->execute(); //PDOStatement:: bindParam()参数说明(占位符为[?]情况) $sql="INSERT user(username,password,email) VALUES(?,?,?)”; $stmt=$pdo->prepare($sql); //第一个参数为整型对应SQL模板中的第几个问号,其他参数和使用条件与[:name]情况相同 $stmt->bindParam(1,$username,PDO::PARAM_STR); $stmt->bindParam(2,$password,PDO::PARAM_STR); $stmt->bindParam(3,$email); $username='imooc'; $password='imooc'; $email='imooc@imooc.com'; $stmt->execute();查看全部
-
Pdo预处理语句的第二种写法,使用占位符 $sql="select * from user where username=? And password =?"; $stmt=Pdo->prepare($sql); $stmt->execute(array($username,$password));查看全部
-
在pdo中可以用 quote()方法 和 预处理语句 prepare() 来防止sql注入,在第二种方法中有两个占位符 “:”和“?” 预处理语句的第一种写法,使用命名参数的写法 $username=$_POST["username"]; $password=$_POST["password"]; $sql="select * from user where username=:username and password=:password"; $stmt=$pdo->prepare($sql); $stmt->execbute(array(":username"=>$username,":password"=>$password);查看全部
-
$stmt=$pdo->query($sql); //PDOStatement对象的方法:rouCount():对于select操作返回的结果集中记录的条数, //对于INSERT、UPDATE、DELETE返回受影响的记录的条数 echo $stmt->rowCount(); //PDO对象的quote()方法:给指定字符串加引号,并将字符串中的引号做转移,过滤字符串中的特殊字符(UP不推荐这种方法过滤注入) $username=$pdo->quote($username); 在之后的SQL语句中将不用给变量在加引号,如下 使用$pdo->quote()后:$sql="select * from user where username='{$username}' and password='{$password}'"; 不使用$pdo->quote():$sql="select * from user where username={$username} and password='{$password}'";查看全部
-
PDO::getAttribute — 取回一个数据库属性 $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,1)//设置数据库连接属性中的自动提交功能为1(开启) //链接数据库时设置数据库属性(数据库属性存放在一个关联数组中) $options=array(PDO::ATTR_AUTOCOMMIT=>0,PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION); $pdo=new PDO($dsn, $username, $passwd, $options); PDO::setAttribute — 设置一个数据库属性 $pdo->getAttribute(PDO::ATTR_AUTOCOMMIT) php在读双引号中的内容时,一旦遇到$,就希望找到一个最可能的变量.所以在没有引起歧义的情况下 echo "PDO::ATTR_$attr: "; php找到变量$attr并解析它(没有$a,$at,$att.$attr: 变量情况下).所以以上写法为正确语句.查看全部
-
PDO预处理(下篇) //fetch():得到结果集中的一条记录 $row=$stmt->fetch(); //默认得到的结果为关联数组和索引数组 //可以通过设置fetch()方法参数获得返回结果的不同形式 $row=$stmt->fetch(PDO::FETCH_ASSOC); //关联数组 $row=$stmt->fetch(PDO::FETCH_BOTH); //(默认)两种同时获取 $row=$stmt->fetch(PDO::FETCH_NUM); //索引数组 $row=$stmt->fetch(PDO::FETCH_OBJ); //返回对象 //还有其他形式可以 //fetchAll():得到结果集中的所有记录 $row=$stmt-> fetchAll(); //默认得到的结果为关联数组和索引数组 //可以通过设置fetchAll()方法参数获得返回结果的不同形式(参数设置方法与fetch()类似) //PDOStatement::setFetchMode():设置fetch()或fetchAll()的默认返回值形式(此方法只存在于PDOStatement对象中) //可以通过设置setFetchMode()方法参数改变fetch()或fetchAll()的默认返回值形式(参数设置方法与fetch()类似) PDOStatement中内置有结果集指针,当用fetch()获取一条结果集中的记录后,指针将会移动指向下一条记录,不论是用fetch()或fetchAll()取记录,将从指针所指记录开始取查看全部
-
PDO预处理(上篇) PDO::query ($sql)方法返回的结果是PDOStatement实例对象,PDOStatement可以用来操作结果集了。 PDO::prepare()方法返回的也是PDOStatement,但这时PDOStatement代表一条预处理语句,也就是说如果你通过PDO::prepare()查询,实际上并未执行sql,而是得到一个预处理语句(PDOStatement),然后你调用PDOStatement::execute()方法真正执行。执行结果集保存在保存在调用execute()方法的PDOStatement中 //prepare($sql):准备SQL语句 $stmt=$pdo->prepare($sql); //execute():执行预处理语句 $res=$stmt->execute();查看全部
-
PDOStatement对象的方法查看全部
-
1.query 执行后,返回一关联+索引的数组 2.query更多用来执行查询语句 3.增删改更多的用exec来执行查看全部
-
[PDO] errorCode()和errorInfo()方法查看错误信息 $pdo->errorCode():返回数据库句柄上一次操作相关的SQLSTATE的值 $pdo->errorInfo():返回的错误信息的数组,数组中包含3个单元(0=>SQLSTATE,1=>CODE,2=>INFO)查看全部
-
1.手动更改自增长的id 通过修改表结构 alter table 表名 auto_increment=更改的数; 也可以手动删除所有记录: 1).将自增长id从1从新开始自增 truncate table 表名, 在事务中可以通过回滚(ROLLBACK)回复数据; 2).DELETE FROM 表名 [WHERE 条件], 在事务中可以通过回滚(ROLLBACK)回复数据; 2.pdo对象方法lastInsertId():得到新插入记录的ID号 $pdo->lastInsertId();查看全部
举报
0/150
提交
取消