PDO连接与操作数据库

PDO连接与操作数据库

在使用pdo连接数据库之前,先要对pdo安装和配置

pdo安装与配置

1.配置PHP配置文件,开启相应扩展
extension=php_pdo.dll
2.开启对应数据库的扩展
以下是每种数据库的扩展需要打开相应的扩展时把对应扩展前面的分号去掉即可。如果有需要也可以打开其他的扩展,但建议用多少扩展打开多少扩展。下面的几个扩展中只有是mysql是打开的。
 extension=php_pdo_mysql.dll    //mysql扩展

;extension=php_pdo_pgsql.dll    //postgreSQL 数库扩展
;extension=php_pdo_mssql.dll    //SQL Server 数据库扩展
;extension=php_pdo_odbc.dll     //ODBC 数据库扩展
;extension=php_pdo_oci.dll      //oracle 数据库扩展

创建pdo对象


PHP中PDO连接数据库中各种DNS设置方法


连接oracle 

$pdo= new PDO("oci:dbname=//localhost:1521/mydb","root","password");




连接mySQL
$pdo= new PDO("mysql:host=localhost:3306;dbname=mydb","root","password"); 



连接sqlserver
$db = new PDO("sqlsrv:Server=localhost,1433;Database=mydb","root","password");



PDOException 代表一个由 PDO 产生的错误;
 echo $e->getMessage();  //获取异常消息内容

pdo完整的连接过程以mysql为例
try{
 $pdo=new PDO("mysql:host=localhost:3306;dbname=mydb","root","password");
}catch(PDOException $e){
    
echo "数据库连接失败:".$e->getMessage();
}



操作数据库 , 错误处理

exec()函数

语法: int PDO::exec(string statement)

提示:

          参数statement是要执行的SQL语句。该方法返回执行时受影响的行数,通常用于insert,delete和update语句中。但是不能用于select查询,返回查询结果。

        下面是使用exec做insert,delete,update的例子如果大家有兴趣的话也可以自己测试select

INSERT
  try{
	       $pdo=new PDO("mysql:host=localhost:3306;dbname=mydb","root","password");
        $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);    //设置异常模式,这是pdo的规范
        $sql="INSERT INTO `mytable`(`name`,`mobile`,`email`) values('ye','12345678900','[email protected]'),
               ('xiao','hua','[email protected]')";
        $pdo->exec($sql);
        echo "Insert record success";
      }catch(PDOException $e){
         echo "Error:".$e->getMessage();   //抛出异常
      }


Delete

	 try{
		   $pdo=new PDO("mysql:host=localhost:3306;dbname=mydb","root","password");
        $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);	//设置异常模式,这是pdo的规范
        $sql="delete from mytable where id=61";
        $pdo->exec($sql);
        echo "delete record success";
      }catch(PDOException $e){
         echo "Error".$e->getMessage();   //抛出异常
	}



Update


try{
	$pdo=new PDO("mysql:host=localhost:3306;dbname=mydb","root","password");
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    $sql="UPDATE mytable SET name='xiao',mobile='00987654321' WHERE id='62'";
    $pdo->exec($sql);
    echo "update record success";
  }catch(PDOException $e){
    echo "Error".$e->getMessage(); 
  } 




query()函数

语法: int PDO::query(string statement)

          参数statement是要执行的SQL语句。该方法返回PDOStatement对象,在用PDOStatement对象的方法获取结果。也可以foreach遍历结果(但不建议使用)。通常用于select





你可能感兴趣的:(PHP)