mysqli方式によるデータベースクエリー

4616 ワード

一、mysqlはmysqliの概念に関連する.
1、mysqlとmysqliはphp方面の関数セットであり、mysqlデータベースとはあまり関連していない.
2、php 5のバージョンの前に、一般的にphpのmysql関数でmysqlデータベースを駆動します.例えばmysql_query()の関数は、プロセス3向け、php 5バージョン以降、mysqliの関数機能を追加したもので、ある意味ではmysqlシステム関数の強化版であり、より安定で効率的で安全であり、mysql_Query()対応はmysqli_query()は、オブジェクト向けに属し、mysqlデータベースをオブジェクト操作で駆動する
二、mysqlとmysqliの違い:
1、mysqlは非継承接続関数で、mysqlはリンクするたびに接続のプロセスを開きます.
2、mysqliは永遠の接続関数であり、mysqliがmysqliを複数回実行すると、同じ接続プロセスが使用され、サーバのオーバーヘッドが削減されます.mysqliは、トランザクションなどの高度な操作をカプセル化し、DB操作中に使用可能な多くの方法をカプセル化します.
三、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
<?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をコンパイルします.
四、mysql_接続()とmysqli_connect()
1.mysqliを使用すると、データベース名をパラメータとしてmysqli_に渡すことができます.connect()関数は、mysqliの構造関数にも渡すことができます.
2.mysqli_を呼び出すとquery()またはmysqliのオブジェクトクエリーquery()メソッドでは、接続IDが必要です.