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

<?php 
$mysqli = new mysqli (\"localhost\",\"root\",\"\",\"mydata \"); ////创建连接
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 \" : \" . stripslashes ($cddata[\' \']) . \"<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, ,myvalue) VALUES (\'0\',?,?)\"); 

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

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

收藏 打印