计算机网络/计算机科学与应用/系统/运维/开发

PHP 数据库抽象层pdo-sql执行语句

 pdo中执行sql语句的方法有2个:

   1、exec() 用来处理非结果的  insert  update delete create

      返回影响行数

      如果是插入语句可以使用lastinsertid()方法获取最后自动插入的id

   2、query() 用来处理有结果集的语句  select  desc  show

      返回来的是PDOStatement类的对象 再通过这个类 的方法获取结果,也可以直接foreach遍历获取结果

  (但不建议使用)

 

$dbms = 'mysql';
$host = 'localhost';
$dbName = 'mytest';
$user = 'root';
$password = '123456';
$dsn = "$dbms:host=$host;dbname=$dbName";
try{
    $dbh = new PDO($dsn,$user,$password);
}catch(PDOException $exception){
    echo "message:".$exception->getMessage();
}

 查询

$sqlquery = "select * from fruits";
   $result = $dbh->query($sqlquery);
     echo $dbh->errorCode()."<br/>";
     print_r($dbh->errorInfo());
     foreach ($result as $row) {
            $f_id = $row['f_id'];
            $s_id=$row['s_id'];
            $f_name=$row['f_name'];
            $f_price=$row['f_price'];
            echo "f_id:$f_id,s_id:$s_id,f_name:$f_name,f_price:$f_price<br/>";
    }
   $sqlquery="select * from fruits";
    $result = $dbh->query($sqlquery);
    $rownum = $result->rowCount();
    echo "总共有".$rownum."个用户:<br/>";
PDOStatement::fetch()参数:
PDO::FETCH_ASSOC选项是把返回的数据读取为关联数组
PDO::FETCH_NUM选项是把返回的数据读取为数字索引数组
PDO_FETCH_BOTH选项是把返回的数据读取为数组,包括数字索引数组和关联数组
PDO::FETCH_OBJ选项是把返回的数据读取为一个对象,不同字段的数据作为其对象属性
 while($row = $result->fetch(PDO::FETCH_ASSOC)){
    	$f_id = $row['f_id'];
    	$s_id=$row['s_id'];
    	$f_name=$row['f_name'];
    	$f_price=$row['f_price'];
    	echo "f_id:$f_id,s_id:$s_id,f_name:$f_name,f_price:$f_price<br/>";
    }

fetchAll() 获取所有数据

读取$result对象为数字索引数组和关联数组两种类

   $rowall = $result->fetchAll();
    foreach($rowall as $row){
    $f_id = $row[0];
    $s_id = $row[1];
    $f_name =$row[2];
    echo "f_id:$f_id,s_id:$s_id,f_name:$f_name<br/>";
    }

PDO执行SQL添加 

$sql_insert = "insert into fruits(f_id,s_id,f_name,f_price)
     values(null,3,'zhangsan',99)";
     if($dbh->exec($sql_insert)){
     echo "数据新增成功<br/>";
}

 PDO执行SQL更新

$sql_update = "UPDATE fruits SET f_name='李四' WHERE f_id=3";
if($dbh->exec($sql_update)){
    echo "数据更新成功<br/>";
}

PDO执行SQL删除语句

$sql_delete = "DElete from fruits where f_id = 4";
if($dbh->exec($sql_delete)){
    echo "数据删除成功<br/>";
}




pdo

好的习惯,排名第一的是:自律;排名第二的是:终身学习;排名第三的是:保持运动。拥有这三种习惯,美好人生垂手可得。

评论

^