• MYSQLI


    PHP MysqlI操作数据库

    1连接数据库.
    //procedural style
    $mysqli =  mysqli_connect('host','username','password','database_name');

    //object oriented style (recommended)
    $mysqli = new mysqli('host','username','password','database_name');


    推荐下面的方式

    <?php
    //Open a new connection to the MySQL server
    $mysqli = new mysqli('host','username','password','database_name');

    //Output any connection error
    if ($mysqli->connect_error) {
        die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
    }

    ?>


    2.选择多行
    mysqli_fetch_assoc() : Below is the code to fetch multiple records as an associative array. The returned array holds the strings fetched from database, where the column names will be the key used to access the internal data. As you can see below, data is displayed in an HTML table.
    <?php
    //Open a new connection to the MySQL server
    $mysqli = new mysqli('host','username','password','database_name');

    //Output any connection error
    if ($mysqli->connect_error) {
        die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
    }

    //MySqli Select Query
    $results = $mysqli->query("SELECT id, product_code, product_desc, price FROM products");

    print '<table border="1">';
    while($row = $results->fetch_assoc()) {
        print '<tr>';
        print '<td>'.$row["id"].'</td>';
        print '<td>'.$row["product_code"].'</td>';
        print '<td>'.$row["product_name"].'</td>';
        print '<td>'.$row["product_desc"].'</td>';
        print '<td>'.$row["price"].'</td>';
        print '</tr>';
    }  
    print '</table>';

    // Frees the memory associated with a result
    $results->free();

    // close connection 
    $mysqli->close();
    ?>
    3.选择
    fetch_array() : Function returns an array of both mysqli_fetch_row and mysqli_fetch assoc merged together, it is an extended version of the mysqli_fetch_row() function and both numeric and string can be used as keys to access the data.
    <?php
    //Open a new connection to the MySQL server
    $mysqli = new mysqli('host','username','password','database_name');

    //Output any connection error
    if ($mysqli->connect_error) {
        die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
    }

    //MySqli Select Query
    $results = $mysqli->query("SELECT id, product_code, product_desc, price FROM products");

    print '<table border="1"';
    while($row = $results->fetch_array()) {
        print '<tr>';
        print '<td>'.$row["id"].'</td>';
        print '<td>'.$row["product_code"].'</td>';
        print '<td>'.$row["product_name"].'</td>';
        print '<td>'.$row["product_desc"].'</td>';
        print '<td>'.$row["price"].'</td>';
        print '</tr>';

    }   
    print '</table>';

    // Frees the memory associated with a result
    $results->free();
    // close connection 
    $mysqli->close();
    ?>
    4.选择
    fetch_object() : To fetch database result set as an objects, just use MySqli fetch_object(). The attributes of the object represent the names of the fields found within the result set.
    <?php
    //Open a new connection to the MySQL server
    $mysqli = new mysqli('host','username','password','database_name');

    //Output any connection error
    if ($mysqli->connect_error) {
        die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
    }

    //MySqli Select Query
    $results = $mysqli->query("SELECT id, product_code, product_desc, price FROM products");

    print '<table border="1">';
    while($row = $results->fetch_object()) {
        print '<tr>';
        print '<td>'.$row->id.'</td>';
        print '<td>'.$row->product_code.'</td>';
        print '<td>'.$row->product_name.'</td>';
        print '<td>'.$row->product_desc.'</td>';
        print '<td>'.$row->price.'</td>';
        print '</tr>';
    }  

    print '</table>';

    // close connection 
    $mysqli->close();
    ?>
    5.选择单行
    <?php
    //Open a new connection to the MySQL server
    $mysqli = new mysqli('host','username','password','database_name');

    //Output any connection error
    if ($mysqli->connect_error) {
        die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
    }

    //chained PHP functions
    $product_name = $mysqli->query("SELECT product_name FROM products WHERE id = 1")->fetch_object()->product_name; 
    print $product_name; //output value

    $mysqli->close();
    ?>
    6.选择行数
     <?php
    //Open a new connection to the MySQL server
    $mysqli = new mysqli('host','username','password','database_name');

    //Output any connection error
    if ($mysqli->connect_error) {
        die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
    }

    //get total number of records
    $results = $mysqli->query("SELECT COUNT(*) FROM users");
    $get_total_rows = $results->fetch_row(); //hold total records in variable

    $mysqli->close();
    ?>
    7.选择预处理
    $search_product = "PD1001"; //product id

    //create a prepared statement
    $query = "SELECT id, product_code, product_desc, price FROM products WHERE product_code=?";
    $statement = $mysqli->prepare($query);

    //bind parameters for markers, where (s = string, i = integer, d = double,  b = blob)
    $statement->bind_param('s', $search_product);

    //execute query
    $statement->execute();

    //bind result variables
    $statement->bind_result($id, $product_code, $product_desc, $price);

    print '<table border="1">';

    //fetch records
    while($statement->fetch()) {
        print '<tr>';
        print '<td>'.$id.'</td>';
        print '<td>'.$product_code.'</td>';
        print '<td>'.$product_desc.'</td>';
        print '<td>'.$price.'</td>';
        print '</tr>';

    }   
    print '</table>';

    //close connection
    $statement->close();
    $search_ID = 1; 
    $search_product = "PD1001"; 

    $query = "SELECT id, product_code, product_desc, price FROM products WHERE ID=? AND product_code=?";
    $statement = $mysqli->prepare($query);
    $statement->bind_param('is', $search_ID, $search_product);
    $statement->execute();
    $statement->bind_result($id, $product_code, $product_desc, $price);

    print '<table border="1">';
    while($statement->fetch()) {
        print '<tr>';
        print '<td>'.$id.'</td>';
        print '<td>'.$product_code.'</td>';
        print '<td>'.$product_desc.'</td>';
        print '<td>'.$price.'</td>';
        print '</tr>';

    }   
    print '</table>';

    //close connection
    $statement->close();
    8.插入数据库
    <?php
    //values to be inserted in database table
    $product_code = '"'.$mysqli->real_escape_string('P1234').'"';
    $product_name = '"'.$mysqli->real_escape_string('42 inch TV').'"';
    $product_price = '"'.$mysqli->real_escape_string('600').'"';

    //MySqli Insert Query
    $insert_row = $mysqli->query("INSERT INTO products (product_code, product_name, price) VALUES($product_code, $product_name, $product_price)");

    32432432 if($insert_row){
        print 'Success! ID of last inserted record is : ' .$mysqli->insert_id .'<br />'; 
    }else{
        die('Error : ('. $mysqli->errno .') '. $mysqli->error);
    }

    ?>
    9.插入预处理
    //values to be inserted in database table
    $product_code = 'P1234';
    $product_name = '42 inch TV';
    $product_price = '600';

    $query = "INSERT INTO products (product_code, product_name, price) VALUES(?, ?, ?)";
    $statement = $mysqli->prepare($query);

    //bind parameters for markers, where (s = string, i = integer, d = double,  b = blob)
    $statement->bind_param('sss', $product_code, $product_name, $product_price);

    if($statement->execute()){
        print 'Success! ID of last inserted record is : ' .$statement->insert_id .'<br />'; 
    }else{
        die('Error : ('. $mysqli->errno .') '. $mysqli->error);
    }
    $statement->close();
    10.批量插入
    //product 1
    $product_code1 = '"'.$mysqli->real_escape_string('P1').'"';
    $product_name1 = '"'.$mysqli->real_escape_string('Google Nexus').'"';
    $product_price1 = '"'.$mysqli->real_escape_string('149').'"';

    //product 2
    $product_code2 = '"'.$mysqli->real_escape_string('P2').'"';
    $product_name2 = '"'.$mysqli->real_escape_string('Apple iPad 2').'"';
    $product_price2 = '"'.$mysqli->real_escape_string('217').'"';

    //product 3
    $product_code3 = '"'.$mysqli->real_escape_string('P3').'"';
    $product_name3 = '"'.$mysqli->real_escape_string('Samsung Galaxy Note').'"';
    $product_price3 = '"'.$mysqli->real_escape_string('259').'"';

    //Insert multiple rows
    $insert = $mysqli->query("INSERT INTO products(product_code, product_name, price) VALUES
    ($product_code1, $product_name1, $product_price1),
    ($product_code2, $product_name2, $product_price2),
    ($product_code3, $product_name3, $product_price3)");

    if($insert){
        //return total inserted records using mysqli_affected_rows
        print 'Success! Total ' .$mysqli->affected_rows .' rows added.<br />'; 
    }else{
        die('Error : ('. $mysqli->errno .') '. $mysqli->error);
    }
    11.更新删除
    //MySqli Update Query
    $results = $mysqli->query("UPDATE products SET product_name='52 inch TV', product_code='323343' WHERE ID=24");

    //MySqli Delete Query
    //$results = $mysqli->query("DELETE FROM products WHERE ID=24");

    if($results){
        print 'Success! record updated / deleted'; 
    }else{
        print 'Error : ('. $mysqli->errno .') '. $mysqli->error;

    12.预处理
    $product_name = '52 inch TV';
    $product_code = '9879798';
    $find_id = 24;

    $query = "UPDATE products SET product_name=?, product_code=? WHERE ID=?";
    $statement = $mysqli->prepare($query);

    //bind parameters for markers, where (s = string, i = integer, d = double,  b = blob)
    $results =  $statement->bind_param('ssi', $product_name, $product_code, $find_id);

    if($results){
        print 'Success! record updated'; 
    }else{
        print 'Error : ('. $mysqli->errno .') '. $mysqli->error;
    }
    13.删除

    //MySqli Delete Query
    $results = $mysqli->query("DELETE FROM products WHERE added_timestamp < (NOW() - INTERVAL 1 DAY)");

    if($results){
        print 'Success! deleted one day old records'; 
    }else{
        print 'Error : ('. $mysqli->errno .') '. $mysqli->error;
    }
  • 相关阅读:
    数值分析之奇异值分解(SVD)篇
    windows/linux VPS云服务器限制IP访问,限制别人的IP访问网站方法
    WORDPRESS博客完美更换网站空间服务器的方法
    教你9个提升 Wordpress 网站安全性的方法
    Windows 2008 R2+iis7.5环境下Discuz!X3论坛伪静态设置方法
    各大型网站使用的服务器空间运行环境盘点
    VPS/云主机 如何试用远程连接登录主机服务器_
    Discuz! X论坛上传附件到100%自动取消上传的原因及解决方案
    Discuz! X3搬家后UCenter出现UCenter info: MySQL Query Error解决方案
    如何刷新DNS缓存
  • 原文地址:https://www.cnblogs.com/KTblog/p/5350276.html
Copyright © 2020-2023  润新知