1. 程式人生 > >連線資料庫執行sql指令

連線資料庫執行sql指令

1.mysqli連線資料庫資料庫(首先建立資料庫)

在面向物件的方式中,mysqli被封裝成一個類,它的構造方法如下:
__construct ([ string $host [, string $username [, string $passwd [, string $dbname[, int $port [, string $socket ]]]]]] )       
在上述語法中涉及到的引數說明如下。
         host:連線的伺服器地址。
         username:連線資料庫的使用者名稱,預設值是伺服器程序所有者的使用者名稱。
         passwd:連線資料庫的密碼,預設值為空。
         dbname:連線的資料庫名稱。
         port:TCP埠號。
        socket:UNIX域socket。

<?php
header('content-type:text/html;charset=utf-8');
//連線mysql資料庫
//new 例項化物件
//使用面向物件的mysqli
$mysqli = @new mysqli("localhost","root","","myschool");
echo '連線資料庫成功';

 

2.檢測資料庫連線是否成功(如果失敗,則阻止程式繼續往下執行)

string $mysqli->connect_error 
返回值   A string that describes the error. NULL  is returned if no error occurred. 

if ( $mysqli -> connect_error){
	die( '連線資料庫失敗: ' . $mysqli -> connect_error);
}

3.設定編碼格式(2正常)

bool mysqli::set_charset  ( string $charset  )      設定在資料庫間傳輸字元時所用的預設字元編碼。
返回值   成功時返回 TRUE , 或者在失敗時返回 FALSE 。 

$mysqli->set_charset('utf8');

4.構建sql指令

mixed  mysqli::query  ( string $query  [, int $resultmode  = MYSQLI_STORE_RESULT  ] )

返回值:失敗時返回 FALSE ,通過 mysqli_query()  成功執行SELECT, SHOW, DESCRIBE或 EXPLAIN查詢會返回一個mysqli_result 物件,其他查詢(insert delete update)則返回 TRUE 。

$sql = "insert into user(id,user,pwd,create_time) value(null,'張三','123456',$time)";

5.使用jquary指令方法,執行sql指令,返回true或false

$res = $mysqli->query($sql);
var_dump($res);

6.影響行數

$n = $mysqli->affected_rows;
var_dump($n);

7.所有資料操作完成以後,關閉資料庫連線

mysqli::close -- mysqli_close — 關閉先前開啟的資料庫連線 

返回值:成功時返回 TRUE , 或者在失敗時返回 FALSE 。

$mysqli->close();

完整程式碼示例為:

<?php
header('content-type:text/html;charset=utf-8');
//連線mysql資料庫
//new 例項化物件
//使用面向物件的mysqli
$mysqli = @new mysqli("localhost","root","","myschool");

// var_dump($mysqli -> connect_error);
//null 預設轉化 false
//非空字串 轉化成 true
if ( $mysqli -> connect_error){
	die( '連線資料庫失敗: ' . $mysqli -> connect_error);
}
//設定編碼格式
$mysqli->set_charset('utf8');
// echo '連線資料庫成功';
// echo '<br>';
$time = time();//時間戳
$sql = "insert into user(id,user,pwd,create_time) value(null,'張三','123456',$time)";

// echo $sql;
//執行sql
$res = $mysqli->query($sql);
var_dump($res);
$n = $mysqli->affected_rows;
var_dump($n);
//關閉連線
$mysqli->close();
// echo '關閉連線';