代码改变世界

php:mysqli扩展

2016-05-10 17:57  ZengGW  阅读(407)  评论(0编辑  收藏  举报

mysqli功能概述:http://php.net/manual/zh/mysqli.summary.php

代码(基本的用法):貌似可以防止sql注入

    $root = "root";
    $pwd = "";
    $host = "localhost";
    $database =  "vvtss";
    //面向对象的方式实例化一个对象
    $conn = new mysqli($host,$root,$pwd,$database);
    
    //返回0代表没有错误发生
    if(mysqli_connect_errno()){
        echo '数据库连接失败,错误码:'.mysqli_connect_errno();die;
    }

    $id = $_GET['id'];
    $username = $_GET['username'];

    //其中的?是一个占位符
    $sql = "select * from table_name where id = ? and username = ?";
    
    //进行预处理操作
    $search_action = $conn->prepare($sql);

    //绑定参数,第一个参数表示为上面预处理的的占位符的数量和每一个参数的数据类型,s为字符串,i为整形,d为双精度小数,有几个参数,就写几个s或d或i,比如说iiii,ssss,sidi这样的。然后后面就是有几个参数就写几个要绑定的变量,比如bind_param('sss',$username,$password,$code);
    $search_action ->bind_param("ss",$id,$username);

    //将结果绑定在相对应的变量上,比如你select了username,password,你就可以写bind_result($usernmae,$password);
    // $search_action ->bind_result($columns);

    //执行sql操作
    $search_action ->execute();
    $result = $search_action->get_result();
    while($rows = $result->fetch_assoc()){
        var_dump($rows);
    }
    $search_action ->free_result();//释放内存
    $search_action ->close();//结束这个实例化

 

  后续复杂的有待完善..........................