-
PDO支持的数据库查看全部
-
<?php try{ /* * 以下是用名称占位符和问号占位符插入数据的演示,需要指出的是,问号占位符绑定参数时,索引是从1开始的。 * */ $pdo = new PDO('mysql:host=localhost;dbname=querytest','root','123456'); //名称占位符的形式插入数据 //$sql = 'INSERT INTO user (username,password,email) VALUES (:username,:password,:email)'; //问号占位符的形式插入数据 $sql = 'INSERT INTO user (username,password,email) VALUES (?,?,?)'; $stm = $pdo->prepare($sql); //$stm->bindParam(':username',$username,PDO::PARAM_STR); //$stm->bindParam(':password',$password,PDO::PARAM_STR); //$stm->bindParam(':email',$email,PDO::PARAM_STR); //问号占位符的形式绑定变量。 $stm->bindParam(1,$username,PDO::PARAM_STR); $stm->bindParam(2,$password,PDO::PARAM_STR); $stm->bindParam(3,$email,PDO::PARAM_STR); $username = 'name2'; $password = 'name2'; $email = 'name2@domain.com'; $stm->execute(); $username = 'hello2'; $password = 'hello2'; $email = 'hello2@word.com'; $stm->execute(); echo $stm->rowCount(); }catch(PDOException $e) { echo $e->getMessage(); }查看全部
-
<?php $username = $_POST['username']; $password = $_POST['password']; /* * 预处理语句中占位符的使用 * 它可以避免sql注入安全问题 * */ try{ $pdo = new PDO('mysql:host=localhost;dbname=querytest','root','123456'); //问号占位符的方式 //$sql = 'select * from user where username=? and password=?'; //名称占位符的方式 $sql = 'select * from user where username=:username and password=:password'; $stm = $pdo->prepare($sql); //数组索引方式传递参数 //$stm->execute(array($username,$password)); //键值方式传递参数 $stm->execute(array(':username'=>$username,':password'=>$password)); //输出返回影响的行数 echo $stm->rowCount(); }catch(PDOException $e) { echo $e->getMessage(); } ?>查看全部
-
<?php $username = $_POST['username']; $password = $_POST['password']; try{ $pdo = new PDO('mysql:host=localhost;dbname=querytest','root','123456'); /* 接受用户名可用预处理语句中两种占位符的方式来写 * 第一种是 冒号+占位符名称的方式如 :username * 第二种是 问号占位符 * */ //$sql = 'select * from user where username=:username and password=:password'; $sql = 'select * from user where username=? and password=?'; $stm = $pdo->prepare($sql); //第一种名称占位符方式 //$stm->execute(array(':username'=> $username, ':password'=> $password )); //就像索引数组一样,execute方法中的数组第一个元素对应着sql语句中第一个问号,第二个元素对应着第二个问号。 $stm->execute(array($username,$password)); echo $stm->rowCount(); }catch(PDOException $e) { echo $e->getMessage(); }查看全部
-
<?php header('content-type;text/html;charset=utf-8'); $username = $_POST['username']; $password = $_POST['password']; try{ $pdo = new PDO('mysql:host=localhost;dbname=querytest', 'root', '123456'); //$sql = "select * from user where username='{$username}' and password='{$password}'"; //通过quote()方法返回带引号的字符串,过滤字符串中的特殊字符(转意特殊字符)。 $username = $pdo->quote($username); echo $sql = "select * from user where username={$username} and password={$password}"; //$stm = $pdo->query($sql); //PDOStatement对象的方法:rowCount():对于select操作返回结果集记录条数。 //对于INSERT、UPDATE、DELETE返回受影响记录的条数用于防止sql注入!注意:更推荐用预处理语句的形式! echo $stm->rowCount(); }catch(PDOException $e) { echo $e->getMessage(); }查看全部
-
<?php try{ /*用prepare()和execute()方法执行查询语句*/ $dsn = 'mysql:host=localhost;dbname=querytest'; $dbh = new PDO($dsn,'root','123456'); $sql = 'select * from pre_info limit 10'; $stm = $dbh->prepare($sql); $stm->execute(); /*fetch方法可通过设置不同的参数来控制输出关联或者索引类型的结果集 例如:PDO::FETCH_ASSOC 输出关联类型结果集。 */ echo '<pre>'; while($r = $stm->fetch(PDO::FETCH_ASSOC)) { print_r($r); } }catch(PDOException $e) { echo $e->getMessage(); }查看全部
-
虽然query()方法是用来查询的,但是插入数据依然有效,增删改推荐用exec()方法。 <?php try{ $dsn = 'mysql:host=localhost;dbname=querytest'; $dbh = new PDO($dsn, 'root', '123456'); /*使用query()方法查询数据*/ $sql = 'select * from pre_info where id=10'; $stm = $dbh->query($sql); foreach($stm as $row) { echo $row['name'].' - '.$row['email'].'<br />'; } }catch(PDOException $e) { echo $e->getMessage(); }查看全部
-
<?php try{ $dsn = 'mysql:host=localhost;dbname=querytest'; $dbh = new PDO($dsn, 'root', '123456'); /*输出错误信息和错误代码*/ $sql = 'DELETE FROM usser WHERE id=1'; $status = $dbh->exec($sql); if($status === false) { //他返回错误代码 echo $dbh->errorCode().'<br />'; echo '详细错误信息:'; echo '<pre>'; //他返回详细错误信息:1、错误代码 2、错误编号 3、错误描述 var_dump($dbh->errorInfo()); } }catch(PDOException $e) { echo $e->getMessage(); }查看全部
-
<?php try{ $dsn = 'mysql:host=localhost;dbname=querytest'; $user = 'root'; $pass = '123456'; $dbh = new PDO($dsn, $user, $pass); /*演示更新和删除数据*/ //$sql = 'UPDATE `user` SET `username`="mook" WHERE `id`="1"'; $sql = 'DELETE FROM user WHERE id=1'; /*注意:exec方法对select查询没有作用!*/ $count = $dbh->exec($sql); echo '受影响的行数:'.$count.'<br />';; }catch(PDOException $e) { echo $e->getMessage(); }查看全部
-
PDO的常用对象方法查看全部
-
以下方法得到新插入数据的ID号 $pdo->lastinsertid()查看全部
-
<?php try{ $dsn = 'mysql:host=localhost;dbname=querytest'; $user = 'root'; $pass = '123456'; $dbh = new PDO($dsn, $user, $pass); /* exec() 执行一条sql语句并返回受影响的行数,如果没有受影响的行数则返回零。 注意:exec对select等查询操作是没有作用的。 */ /*返回最后一行插入数据的ID号*/ $sql = <<<EOF INSERT INTO user (username,password,email)VALUES ('b01','pb01','b01@domain.com'); EOF; $count = $dbh->exec($sql); echo '受影响的行数:'.$count.'<br />'; echo '最后插入的ID号:'.$dbh->lastinsertid().'<br />'; }catch(PDOException $e) { echo $e->getMessage(); }查看全部
-
<?php try{ $dsn = 'mysql:host=localhost;dbname=querytest'; $user = 'root'; $pass = '123456'; $dbh = new PDO($dsn, $user, $pass); /* exec() 执行一条sql语句并返回受影响的行数,如果没有受影响的行数则返回零。 注意:exec对select等查询操作是没有作用的。 */ /*执行多条数据插入*/ $sql = <<<EOF INSERT INTO user(username,password,email) VALUES ('u01','001','u01@domain.com'), ('u02','002','u02@domain.com'), ('u03','003','u03@domain.com'); EOF; $r = $dbh->exec($sql); var_dump($r); }catch(PDOException $e) { echo $e->getMessage(); }查看全部
-
<?php try{ $dsn = 'mysql:host=localhost;dbname=querytest'; $user = 'root'; $pass = '123456'; $dbh = new PDO($dsn, $user, $pass); /* exec() 执行一条sql语句并返回受影响的行数,如果没有受影响的行数则返回零。 注意:exec对select等查询操作是没有作用的。 */ $sql = <<<EOF CREATE TABLE IF NOT EXISTS `user` ( `id` INT UNSIGNED AUTO_INCREMENT, `username` VARCHAR(32) NOT NULL UNIQUE, `password` VARCHAR(32) NOT NULL, `email` VARCHAR(30) NOT NULL, PRIMARY KEY(`id`) )ENGINE=MyISAM DEFAULT CHARSET=utf8; EOF; $r = $dbh->exec($sql); var_dump($r); }catch(PDOException $e) { echo $e->getMessage(); }查看全部
-
//连接数据库服服务器 $dsn = 'mysql:host=localhost;dbname=test'; try{ $dbh = new PDO($dsn,'user','passwd'); }catch(PDOEception $e) { echo $e->getMessage(); }查看全部
举报
0/150
提交
取消