Mysql 绑定变量

   今天去前程无忧(51job)面试。。考官问了个MYsql 绑定变量概念。

   因为之前项目没有接触过 再加上对mysql 研究不足直接问住了- -  回来baidu恶补了下

   果然是好东西。

   绑定变量的可用性还是不容怀疑的,在大型系统上5%的性能提高已经很不错了,加上绑定变量的安全性,可以很好的规范SQL语句的验证,避免自己单独去写验证语句,

   推荐使用绑定变量。

  

<?php 

                $mysqli=new mysqli("localhost", "root", "123321", "test"); 

 

                $sql1="set @@profiling=1"; 

                $result1=$mysqli->query($sql1); 

 

                //准备好一条语句放到服务器中,插入语句 

                $sql="insert into t(name,sex) values (?,?)"; 

 

                $stmt=$mysqli->prepare($sql); 

 

                //给占位符号每个?号传值(绑定参数) i    d    s    b    

                $stmt->bind_param("si", $name, $sex); 

 

                $name="andy"; 

                $sex=0; 

 

                //执行 

                $stmt->execute(); 

 

 

                $name="mandy"; 

                $sex=1; 

 

                //执行 

                $stmt->execute(); 

 

 

                $name="michael"; 

                $sex=0; 

 

                //执行 

                $stmt->execute(); 

 

 

                $name="happy"; 

                $sex=1; 

 

                //执行 

                $stmt->execute(); 

 

                $name="php"; 

                $sex=1; 

 

                //执行 

                $stmt->execute(); 

 

 

                $name="mysql"; 

                $sex=1; 

 

                //执行 

                $stmt->execute(); 

 

                $name="linux"; 

                $sex=1; 

 

                //执行 

                $stmt->execute(); 

 

                $name="oracle"; 

                $sex=1; 

 

                //执行 

                $stmt->execute(); 

 

                $name="unix"; 

                $sex=1; 

 

                //执行 

                $stmt->execute(); 

 

                $name="cisco"; 

                $sex=1; 

 

                //执行 

                $stmt->execute(); 

 

 

                $stmt->close(); 

 

 

                $sql2="show profiles"; 

                $result2=$mysqli->query($sql2); 

 

                echo '<table border=1 align="center" width=800>'; 

                while($rows=$result2->fetch_assoc()){ 

                                echo '<tr align="center">'; 

                                foreach($rows as $value){ 

                                                echo '<td>' . $value    . '</td>'; 

                                } 

                                echo '</tr>'; 

                                $i=0; 

                                $i=$i+$rows["Duration"]; 

                } 

                echo '</table>'; 

                echo $i; 

?>
<?php 

                $mysqli=new mysqli("localhost", "root", "123321", "test"); 

 

                $sql1="set @@profiling=1"; 

                $result1=$mysqli->query($sql1); 

 

                $nobind=array("insert into t(name,sex) values ('andy',0)", 

                                "insert into t(name,sex) values ('mandy',1)", 

                                "insert into t(name,sex) values ('michael',0)", 

                                "insert into t(name,sex) values ('happy',0)", 

                                "insert into t(name,sex) values ('php',0)", 

                                "insert into t(name,sex) values ('mysql,0)", 

                                "insert into t(name,sex) values ('linux',0)", 

                                "insert into t(name,sex) values ('oracle',0)", 

                                "insert into t(name,sex) values ('cisco',0)", 

                                "insert into t(name,sex) values ('unix',0)"); 

 

 

                foreach($nobind as $sql){ 

                                echo $sql; 

                                 $result=$mysqli->query($sql); 

 

                } 

 

 

 

                $sql2="show profiles"; 

                $result2=$mysqli->query($sql2); 

 

                echo '<table border=1 align="center" width=800>'; 

                while($rows=$result2->fetch_assoc()){ 

                                echo '<tr align="center">'; 

                                foreach($rows as $value){ 

                                                echo '<td>' . $value    . '</td>'; 

                                } 

                                echo '</tr>'; 

                                $i=0; 

                                $i=$i+$rows["Duration"]; 

                } 

                echo '</table>'; 

                echo $i; 

                $mysqli->close(); 

?>

 本文出自 “fenghao.cn's Soft..

你可能感兴趣的:(mysql)