php函數訪問mysql數據庫,php調用數據庫的方法

本文目錄一覽:

PHP7連接mysql數據庫方法

1、用 mysql_connect 的方法,PHP7會報致命錯誤

$conn= mysql_connect(‘localhost’,’xueyanxiang’,’xueyanxiang’);

Fatal error : Uncaught Error: Call to undefined function mysql_connect() in /Users/xueyanxiang/work/test/xue.php:31 Stack trace: #0 /Users/xueyanxiang/work/test/xue.php(119): xue-run() #1 {main} thrown in  /Users/xueyanxiang/work/test/xue.php  on line  31

原因是:

PHP5中使用mysql_connect()函數進行連接,但實際上,PHP5.5開始,MySQL就不推薦使用了,屬於廢棄函數

PHP7中貌似已經徹底不支持了,根據官網說明,取而代之的是如下兩個:

本擴展自 PHP 5.5.0 起已廢棄,並在將來會被移除。應使用 MySQLi 或 PDO_MySQL 擴展來替換之。參見 MySQL:選擇

API 指南以及相關 FAQ 以獲取更多信息。用以替代本函數的有:

mysqli_connect()

PDO::__construct()

使用時,不要在使用mysql_connect了,可以換用mysqli_connect(),用法基本類似吧,據說是面向對象的庫。

php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll這個拓展了。

2、可以使用mysqli,對象化,方法名與被廢棄的類似

$conn= mysqli_connect(‘localhost’,’xueyanxiang’,’xueyanxiang’);

3、PDO工具,推薦使用

$dbh= “mysql:host=localhost;dbname=test”;

$db= new PDO($dbh,’xueyanxiang’,’xueyanxiang’);

$objQuery= $db-query(“select * from user;”);

$res= $objQuery-fetchAll(PDO::FETCH_ASSOC);

不填寫參數的話,默認是關聯和索引都有,如下圖

如何在PHP中連接MySQL數據庫

php鏈接mysql必備條件:已安裝mysql數據庫;

檢查php環境是否已開啟mysql擴展(一般情況下是開啟的);

檢查方法:a.使用phpinfo();函數,看有沒有mysql項;b.打開php.ini文件,檢查php_mysql.dll前分號是否已取掉。

php鏈接代碼如下:

運行結果:

PHP訪問MYSQL數據庫封裝類(附函數說明)

複製代碼

代碼如下:

?php

/*

MYSQL

數據庫訪問封裝類

MYSQL

數據訪問方式,php4支持以mysql_開頭的過程訪問方式,php5開始支持以mysqli_開頭的過程和mysqli面向對象

訪問方式,本封裝類以mysql_封裝

數據訪問的一般流程:

1,連接數據庫

mysql_connect

or

mysql_pconnect

2,選擇數據庫

mysql_select_db

3,執行SQL查詢

mysql_query

4,處理返回的數據

mysql_fetch_array

mysql_num_rows

mysql_fetch_assoc

mysql_fetch_row

etc

*/

class

db_mysql

{

var

$querynum

=

;

//當前頁面進程查詢數據庫的次數

var

$dblink

;

//數據庫連接資源

//鏈接數據庫

function

connect($dbhost,$dbuser,$dbpw,$dbname=”,$dbcharset=’utf-8′,$pconnect=0

,

$halt=true)

{

$func

=

empty($pconnect)

?

‘mysql_connect’

:

‘mysql_pconnect’

;

$this-dblink

=

@$func($dbhost,$dbuser,$dbpw)

;

if

($halt

!$this-dblink)

{

$this-halt(“無法鏈接數據庫!”);

}

//設置查詢字符集

mysql_query(“SET

character_set_connection={$dbcharset},character_set_results={$dbcharset},character_set_client=binary”,$this-dblink)

;

//選擇數據庫

$dbname

@mysql_select_db($dbname,$this-dblink)

;

}

//選擇數據庫

function

select_db($dbname)

{

return

mysql_select_db($dbname,$this-dblink);

}

//執行SQL查詢

function

query($sql)

{

$this-querynum++

;

return

mysql_query($sql,$this-dblink)

;

}

//返回最近一次與連接句柄關聯的INSERT,UPDATE

或DELETE

查詢所影響的記錄行數

function

affected_rows()

{

return

mysql_affected_rows($this-dblink)

;

}

//取得結果集中行的數目,只對select查詢的結果集有效

function

num_rows($result)

{

return

mysql_num_rows($result)

;

}

//獲得單格的查詢結果

function

result($result,$row=0)

{

return

mysql_result($result,$row)

;

}

//取得上一步

INSERT

操作產生的

ID,只對錶有AUTO_INCREMENT

ID的操作有效

function

insert_id()

{

return

($id

=

mysql_insert_id($this-dblink))

=

?

$id

:

$this-result($this-query(“SELECT

last_insert_id()”),

0);

}

//從結果集提取當前行,以數字為key表示的關聯數組形式返回

function

fetch_row($result)

{

return

mysql_fetch_row($result)

;

}

//從結果集提取當前行,以字段名為key表示的關聯數組形式返回

function

fetch_assoc($result)

{

return

mysql_fetch_assoc($result);

}

//從結果集提取當前行,以字段名和數字為key表示的關聯數組形式返回

function

fetch_array($result)

{

return

mysql_fetch_array($result);

}

//關閉鏈接

function

close()

{

return

mysql_close($this-dblink)

;

}

//輸出簡單的錯誤html提示信息並終止程序

function

halt($msg)

{

$message

=

“html\nhead\n”

;

$message

.=

“meta

content=’text/html;charset=gb2312’\n”

;

$message

.=

“/head\n”

;

$message

.=

“body\n”

;

$message

.=

“數據庫出錯:”.htmlspecialchars($msg).”\n”

;

$message

.=

“/body\n”

;

$message

.=

“/html”

;

echo

$message

;

exit

;

}

}

?

如何用php調用mysql中的數據

大概的基本流程如下:

連接數據庫,再加一個判斷。

選擇數據庫

讀取表

輸出表中數據

下面是代碼:

?php

$con

= mysql_connect(“localhost”,”root”,”abc123″);

/*

localhost

是服務器

root

是用戶名 abc123

是密碼*/ 

if

(!$con)

 {

 die(“數據庫服務器連接失敗”);

 }

/* 這就是一個邏輯非判斷,如果錯誤就輸出括號里的字符串

*/ 

@mysql_select_db(“a”, $con); 

/* 選擇mysql服務器里的一個數據庫,假設你的數據庫名為 a*/ 

$sql = “SELECT * FROM

qq”; 

/*

定義變量sql, “SELECT * FROM qq”

是SQL指令,表示選取表qq中的數據 */ 

$result

= mysql_query($sql);

//執行SQL語句,獲得結果集 

/*下面就是選擇性的輸出打印了,由於不清楚你的具體情況給你個表格打印吧*/

//打印表格 

echo

“table

border=1″; 

while(

$row

=

mysql_fetch_array($result)

)

/*逐行獲取結果集中的記錄,得到數組row */

{

 

/*數組row的下標對應着數據庫中的字段值 */

$id

=

$row[‘id’]; 

$name

=

$row[‘name’]; 

$sex

=

$row[‘sex’]; 

echo

“tr”; 

echo

“td$id/td”; 

echo

“td$name/td”; 

echo

“td$sex/td”; 

echo

“/tr”; 

echo

“table

/”; 

?

如果你的switch是表頭,就定義這個表頭字段,然後輸出。

你可以去後盾人平台看看,裏面的東西不錯

原創文章,作者:QSYRT,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/317680.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
QSYRT的頭像QSYRT
上一篇 2025-01-11 16:27
下一篇 2025-01-11 16:27

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29

發表回復

登錄後才能評論