本文目錄一覽:
- 1、怎樣使用mysqli連接mysql數據庫
- 2、用mysqli訪問mysql數據庫,無法成功完成操作?
- 3、PHP使用mysqli擴展連接MySQL數據庫
- 4、php怎麼用mysqli鏈接數據庫和輸出sql
怎樣使用mysqli連接mysql數據庫
?php
$dbhost =”127.0.0.1″;
$dbuser = “root”;
$dbpwd = “root”;
$dbname = “test”;
$charName = “‘UTF8′”; //設置查詢字符集gbk,gbk2312,utf-8
$mysqli = new mysqli($dbhost,$dbuser,$dbpwd,$dbname);
if (mysqli_connect_errno()){ //注意mysqli_connect_error()新特性
die(‘Unable to connect!’). mysqli_connect_error();
}
$sql = “SET NAMES “.$charName;
$mysqli-query($sql);
$result=$mysqli-query(“select * from tttt order by id ; //根據前面的計算出開始的記錄和記錄數
while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
$htmlstr.=$row[‘id’].” /br”;
}
echo $htmlstr;
用mysqli訪問mysql數據庫,無法成功完成操作?
以數據庫管理員的身份或是root的身份登入mysql以後,直接使用 %D%Ashow databases來顯示當前的庫列表 %D%Ause mydatabase用use打開一個數據庫後,可以用 %D%Ashow tables來顯示mydatabase中的表列表 %D%A條件呢?你要求用什麼工具或語言?如果是PHP,有如下相關函數說明: %D%A mysql_list_tables %D%A (PHP 3, PHP 4 ) %D%A mysql_list_tables — 列出 MySQL 數據庫中的表 %D%A 說明 %D%A resource mysql_list_tables ( string database [, resource link_identifier]) %D%A mysql_list_tables() 接受一個數據庫名並返回和 mysql_query() 函數很相似的一個結果指針。用 mysql_tablename() 函數來遍歷此結果指針,或者任何使用結果表的函數,例如 mysql_fetch_array()。 %D%A database 參數是需要被取得其中的的表名的數據庫名。如果失敗 mysql_list_tables() 返回 FALSE。 %D%A 為向下兼容仍然可以使用本函數的別名 mysql_listtables(),但反對這樣做。 %D%A 注: 該函數已經被刪除了,請不要再使用該函數。您可以用命令 SHOW TABLES FROM DATABASE 來實現該函數的功能。 %D%A 例子 1. mysql_list_tables() 例子 %D%A ?php %D%A $dbname = ‘mysql_dbname’; %D%A if (!mysql_connect(‘mysql_host’, ‘mysql_user’, ‘mysql_password’)) { %D%A print ‘Could not connect to mysql’; %D%A exit; %D%A } %D%A $result = mysql_list_tables($dbname); %D%A if (!$result) { %D%A print “DB Error, could not list tables\n”; %D%A print ‘MySQL Error: ‘ . mysql_error(); %D%A exit; %D%A } %D%A while ($row = mysql_fetch_row($result)) { %D%A print “Table: $row[0]\n”; %D%A } %D%A mysql_free_result($result); %D%A ? %D%A不管用什麼語言,使用它的接口中查詢的函數,例如mysql_query(query) %D%A 在選擇了一個數據庫的情況下,query始終為SHOW TABLES就可以了
PHP使用mysqli擴展連接MySQL數據庫
1.面向對象的使用方式
$db
=
new
mysqli(‘localhost’,
‘root’,
‘123456’,
‘dbname’);
如果建立連接時未指定數據庫則選擇使用的數據庫,切換使用的數據庫
$db-select_db(‘dbname’);
$query
=
“SELECT
*
FROM
user
WHERE
uid=4″;
$result
=
$db-query($query);
$result_num
=
$result-num_rows;
$row
=
$result-fetch_assoc();
//返回一個關聯數組,可以通過$row[‘uid’]的方式取得值
$row
=
$result-fetch_row();
//返回一個列舉數組,可以通過$row[0]的方式取得值
$row
=
$result-fetch_array();
//返回一個混合數組,可以通過$row[‘uid’]和$row[0]兩種方式取得值
$row
=
$result-fetch_object();
//返回一個對象,可以通過$row-uid的方式取得值
$result-free();
//釋放結果集
$db-close();
//關閉一個數據庫連接,這不是必要的,因為腳本執行完畢時會自動關閉連接
當進行INSERT、UPDATE、DELETE操作時,使用$db-affected_rows查看影響行數
2.面向過程的使用方式
$db
=
mysqli_connect(‘localhost’,
‘root’,
‘123456’,
‘dbname’);
如果建立連接時未指定數據庫則選擇使用的數據庫,切換使用的數據庫
mysqli_select_db($db,
‘dbname’);
查詢數據庫
$query
=
“SELECT
*
FROM
user
WHERE
uid=4″;
$result
=
mysqli_query($db,
$query);
$result_num
=
mysqli_num_rows($result);
返回一行結果
$row
=
mysqli_fetch_assoc($result);
//返回一個關聯數組,可以通過$row[‘uid’]的方式取得值
$row
=
mysqli_fetch_row($result);
//返回一個列舉數組,可以通過$row[0]的方式取得值
$row
=
mysqli_fetch_array($result);
//返回一個混合數組,可以通過$row[‘uid’]和$row[0]兩種方式取得值
$row
=
mysqli_fetch_object($result);
//返回一個對象,可以通過$row-uid的方式取得值
斷開數據庫連接
mysqli_free_result($result);
//釋放結果集
mysqli_close($db);
//關閉一個數據庫連接,這不是必要的,因為腳本執行完畢時會自動關閉連接
當進行INSERT、UPDATE、DELETE操作時,使用mysqli_affected_rows()查看影響行數
php怎麼用mysqli鏈接數據庫和輸出sql
一、mysql與mysqli的概念相關:
1、mysql與mysqli都是php方面的函數集,與
mysql數據庫
關聯不大。
2、在
php5
版本之前,一般是用php的
mysql函數
去驅動mysql數據庫的,比如mysql_query()的函數,屬於
面向過程
3、在php5版本以後,增加了mysqli的函數功能,某種意義上講,它是mysql系統函數的增強版,更穩定更高效更安全,與mysql_query()對應的有mysqli_query(),屬於面向對象,用對象的方式操作驅動mysql數據庫
二、mysql與mysqli的區別:
1、mysql是非持繼連接函數,mysql每次鏈接都會打開一個連接的進程。
2、mysqli是永遠連接函數,mysqli多次運行mysqli將使用同一連接進程,從而減少了服務器的開銷。mysqli封裝了諸如事務等一些高級操作,同時封裝了DB操作過程中的很多可用的方法。
三、mysql與mysqli的用法:
1:mysql(過程方式):
$conn
=
mysql_connect(‘
localhost
‘,
‘user’,
‘password’); //連接mysql數據庫
mysql_select_db
(‘data_base’);
//選擇數據庫$result
=
mysql_query(‘select
*
from
data_base’);//第二個可選參數,指定打開的連接$row
=
mysql_fetch_row(
$result
)
)
//只取一行數據echo
$row[0];
//輸出第一個字段的值
PS:mysqli以過程式的方式操作,有些函數必須指定資源,比如mysqli_query(資源標識,
SQL語句
),並且資源標識的參數是放在前面的,而mysql_query(SQL語句,’資源標識’)的資源標識是可選的,默認值是上一個打開的連接或資源。
2、mysqli(對象方式):
$conn
=
new
mysqli(‘localhost’,
‘user’,
‘password’,’data_base’);//要使用new
操作符
,最後一個參數是直接指定數據庫//假如構造時候不指定,那下一句需要$conn
–
select_db(‘data_base’)實現$result
=
$conn
–
query(
‘select
*
from
data_base’
);$row
=
$result
–
fetch_row();
//取一行數據echo
row[0];
//輸出第一個字段的值
使用new
mysqli(‘localhost’,
usenamer’,
‘password’,
‘databasename’);會報錯,提示如下:
Fatal
error:
Class
‘mysqli’
not
found
in
…
一般是mysqli是沒有開啟的,因為mysqli類不是
默認開啟
的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli編譯進去。
四、mysql_connect()與mysqli_connect()
1.使用mysqli,可以把數據庫名稱當作參數傳給mysqli_connect()函數,也可以傳遞給mysqli的
構造函數
;
2.如果調用mysqli_query()或mysqli的對象查詢query()方法,則連接標識是必需的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/240454.html