-
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 = '[email protected]'; $stm->execute(); $username = 'hello2'; $password = 'hello2'; $email = '[email protected]'; $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','[email protected]'); 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','[email protected]'), ('u02','002','[email protected]'), ('u03','003','[email protected]'); 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
提交
取消