今天去前程无忧(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..

相关文章: