php源码之使用mysqli面向对象的API操作数据库

时间:2016-07-13
本文章向大家介绍php使用mysqli面向对象的API操作数据库,包括查询数据和插入数据,大家特别要理解mysqli如何插入数据。请看下面实例源码。

php使用mysqli面向对象的API操作数据库,源码和代码解释如下:

<?php 
$mysqli = new mysqli ("localhost","root","","mydatabase"); ////创建连接
try{
    if(mysqli_connect_errno()){//检查连接是否被创建
        throw new exception ("Error: ".mysqli_connect_errno()."-".mysqli_connect_error()); 
    }else{
        if($cdquery = $mysqli->query ("SELECT * FROM mytable ORDER BY id ASC")){//执行查询
    
            while($cddata=$cdquery->fetch_array()){//获取查询结果数据
                echo "ID: " . $cddata['id'] . "<br />"; 
                echo "Title: " . stripslashes ($cddata['title']) . "<br />"; 
                echo "MyValue: " . stripslashes ($cddata['MyValue']) . "<br />"; 
            } 
            $cdquery->close();//关闭结果集
        }else{
            echo $mysqli->errno."-".$mysqli->error; 
        } 
        /*$mysqli->prepare
         * 创建一个准备查询语句:
         * ?是个通配符,可以用在任何有文字的数据
         * 相当于一个模板,也就是预备sql语句
         */
        $prep = $mysqli->prepare ("INSERT INTO mytable(id,title,myvalue) VALUES ('0',?,?)"); 

		/*$prep->bind_param 第一个参数是绑定类型,"s"是指一个字符串,也可以是"i",指的是int。也可以是"db",
		 * d代表双精度以及浮点类型,而b代表blob类型,第二个参数是变量
		 */
        $prep->bind_param('ss',$title,$myvalue); 
        
        //给变量$title、$myvalue赋值
        $title = "AA"; 
        $myvalue = 20; 
        
        //执行准备语句
        $prep->execute(); 
        
        //显示插入的语句
        echo $prep->affected_rows . " row(s) affected."; 
        $prep->close(); 
        if($result = $mysqli->prepare ("SELECT title, myvalue FROM mytable WHERE id > 2")){
            $result->execute (); 
            $result->bind_result ($title,$myvalue); 
            while ($result->fetch()){ 
                echo "Title: " . stripslashes ($title) . "<br />"; 
                echo "MyValue: " . stripslashes ($myvalue) . "<br />"; 
            } 
            $result->close (); 
        }else{
            echo $mysqli->errno . " - " . $mysqli->error; 
        } 
        //关闭数据库的链接
        $mysqli->close(); 
    } 
}catch(exception $e){ 
	echo $e->getmessage(); 
} 
?>

说明:mysqli对prepare的支持对于大访问量的网站是很有好处的,它极大地降低了系统开销,而且保证了创建查询的稳定性和安全性。

上一页 下一页

原文地址:http://www.manongjc.com/article/1183.html