php呼叫mysql 系列函式 沒有任何查詢結果

2021-10-17 22:41:00 字數 2137 閱讀 4619

一、php連線資料庫及基本操作

mysql採用的是』客戶機/伺服器』架構。使用php安裝的mysql擴充套件函式,和直接使用客戶端軟體區訪問mysql資料庫伺服器,原理一樣,都需要向mysql管理系統傳送sql命令,然後將結果返回給使用者。

在php中,sql分為兩類(檢視sql語句分類):一是有返回結果集的dql語句,如select/desc 表名,執行完畢之後,需要php處理結果集;二是沒有結果集的,如dml、ddl等,但是dml語句執行成功後對資料表的記錄有影響。

//連線資料庫,常用引數是主機名、使用者名稱和密碼

$link = mysql_connect('localhost','root','123456');

//判斷是否連線成功

if(!$link)

die('連線失敗'.mysql.error()); //連線成功返回資源識別符號,失敗返回false,mysql_error顯示錯誤資訊

//選擇資料庫,mysql_error()只在除錯中使用,再部署專案時就不要了,不然會洩露資料庫資訊

mysql_select_db('test') or die('選擇資料庫失敗'.mysql_error());

//mysql_query()可以設定字符集和執行sql語句

mysql_query('set names utf-8');

$sql = 'insert into test(id,name) values("1","dwqs")';

$result = mysql_query($sql); //執行sql返回結果集

//處理結果集,insert屬於dml,會對錶的記錄有影響

if($result && mysql_affected_rows() > 0)

//mysql_insert_id()返回最後一條新紀錄的auto_increment值

echo '插入資料成功'.mysql_insert_id().'

';else

echo '插入資料失敗,錯誤號:'.mysql_errno().'錯誤資訊:'.mysql_error().'

';//關閉連線

mysql_close($link);

二、php處理select查詢結果集

在php中執行select語句返回乙個結果集,可以用於對各個欄位的處理

$result = mysql_query('select * from test');

//獲取記錄行的個數

$rows = mysql_num_rows($result);

//獲取字段個數,即資料列

$cols = mysql_num_fields($result);

如果需要訪問結果集中的資料,可以使用下列四個函式中的乙個(均以結果集資源符作為引數,並自動返回下一條記錄,在表末尾時返回false)

1、mysql_fetch_row():該函式將一條結果記錄返回並以乙個普通的索引資料儲存

2、mysql_fetch_assoc():從結果集中取得一行作為關聯資料儲存

3、mysql_fetch_array():從結果集中取得一行作為關聯陣列,或數字陣列,或二者兼有。可以使用mysql_assoc(關聯陣列形 式)、mysql_num(索引陣列形式)和mysql_both作為第二個引數,指定返回的資料形態。

4、mysql_fetch_object():從結果集中取得一行作為物件,各個欄位以物件方式訪問。

建議:沒有特殊要求,不要使用mysql_fetch_array(),可以使用mysql_fetch_row()或者mysql_fetch_assoc()實現同樣的功能,且效率高。

另外也有三個與結果集相關的常用函式

5、mysql_data_seek(int $num):移動內部結果的指標,$num是想要設定的新的結果集指標的行數。

6、mysql_fetch_lengths(resource $result):取得結果集中每個輸出的長度

7、mysql_result(resource $result , int $row[,mixed $field]):返回 mysql 結果集中乙個單元的內容。字段引數可以是字段的偏移量或者欄位名,或者是字段表點欄位名(tablename.fieldname)。如果給列起了別名(』select foo as bar from…』),則用別名替代列名。呼叫 mysql_result()不能和其它處理結果集的函式混合呼叫。

php呼叫mysql 系列函式 沒有任何查詢結果

class db classelse 這裡是顯示sql語句的錯誤資訊,主要是設計階段用於提示。正式執行階段可將下面這句注釋掉。if this mysql error 1 echo sql語句錯誤 sql mysql error return false 以下函式用於從結果取回陣列,一般與 while...

PHP呼叫mysql函式整理

名稱 mysql connect 用途 開啟非持久的 mysql 連線。如果成功,則返回乙個 mysql 連線標識,失敗則返回 false。語法 mysql connect server,user,pwd,newlink,clientflag 說明 con mysql connect localho...

mysql 過程呼叫函式 mysql函式呼叫過程

1.conn mysql init null 初始化 mysql conn 2.mysql real connect conn,localhost root 123456 xpy 0,null,client found rows 失敗 null 建立乙個連線 3.res mysql query co...