使用mysqli方式進行數據庫查詢

1、mysql與mysqli的概念相關:php

一、mysql與mysqli都是php方面的函數集,與mysql數據庫關聯不大。mysql

二、在php5版本以前,通常是用php的mysql函數去驅動mysql數據庫的,好比mysql_query()的函數,屬於面向過程三、在php5版本之後,增長了mysqli的函數功能,某種意義上講,它是mysql系統函數的加強版,更穩定更高效更安全,與mysql_query()對應的有mysqli_query(),屬於面向對象,用對象的方式操做驅動mysql數據庫linux

2、mysql與mysqli的區別:sql

一、mysql是非持繼鏈接函數,mysql每次連接都會打開一個鏈接的進程。數據庫

二、mysqli是永遠鏈接函數,mysqli屢次運行mysqli將使用同一鏈接進程,從而減小了服務器的開銷。mysqli封裝了諸如事務等一些高級操做,同時封裝了DB操做過程當中的不少可用的方法。json

3、mysqli的用法:安全

ConnectionMySQL.php
服務器

<?php

// 設置返回json格式數據
header('content-type:application/json;charset=utf8');

$mysql_server_name = "localhost"; //數據庫服務器名稱
$mysql_username = "root"; // 鏈接數據庫用戶名
$mysql_password = "xxxx"; // 鏈接數據庫密碼
$mysql_database = "stalker"; // 數據庫的名字
$mysql_port = "3306"; //端口號
$conn; //數據庫鏈接標識;
$result; //執行query命令的結果資源標識


//Open a new connection to the MySQL server
$conn = new mysqli($mysql_server_name, $mysql_username, $mysql_password, $mysql_database, $mysql_port);
//Output any connection error
if($conn->connect_error) {
   die('Error:('.$conn->connect_errno .') '.$conn->connect_error);
}

SqlStatement
app

<?php

$sql; //sql執行語句
$row; //返回的條目數

//要執行的SQL語句
$sql="SELECT * FROM `personinfo`";

$results = array();
$i = 0;

//調用ConnectionMySQL.php文件進行數據庫鏈接操做
require('ConnectionMySQL.php');

foreach($conn->query($sql) as $row) {
   $results[$i] = $row;
   $i++;
}
// 將結果轉成json格式
echo json_encode(array('jsonObj'=>$results));

// 關閉鏈接
$conn->close();

結果:函數

{"jsonObj":[{"id":"001","name":"\u5f20\u5a01","type":"Android"},{"id":"002","name":"\u5f20\u745e\u5cf0","type":"Android"},{"id":"003","name":"\u5f20\u671d","type":"Android"},{"id":"004","name":"\u5f20\u9a8b","type":"Android"}]}

通常是mysqli是沒有開啓的,由於mysqli類不是默認開啓的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli編譯進去。

4、mysql_connect()與mysqli_connect()

1.使用mysqli,能夠把數據庫名稱看成參數傳給mysqli_connect()函數,也能夠傳遞給mysqli的構造函數;

2.若是調用mysqli_query()或mysqli的對象查詢query()方法,則鏈接標識是必需的。

相關文章
相關標籤/搜索