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..


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM