本文目錄一覽:
- 1、php中關於mysql_affected_rows的問題,怎麼解決?
- 2、PHP函數mysql_affected_rows()與mysql_num_rows()有什麼區別?
- 3、如何在PHP中獲取MYSQL數據庫返回的數據的行數?
- 4、PHP使用mysqli擴展連接MySQL數據庫
- 5、php中mysql_affected_rows返回值的問題
- 6、php中mysql_affected_rows的作用是什麼
php中關於mysql_affected_rows的問題,怎麼解決?
這個有什麼問題???
如果你是說指定某個 resource 的影響行數,你可以指定
mysql_affected_rows($concept); 這樣就是返回這個 resource 的影響的行數!
PHP函數mysql_affected_rows()與mysql_num_rows()有什麼區別?
這兩個函數功能完全不同:
mysql_affected_rows
取得前一次
MySQL
操作所影響的記錄行數,操作是指INSERT、UPDATE、DELETE等,影響是指修改、變化的。如果函數失敗,返回值是-1。此函數參數為連接ID,也可以不要參數(當前默認的連接)。
mysql_num_rows()返回結果集中行的數目,僅對
SELECT
語句有效。注意其參數是mysql_query返回的結果集ID。
如何在PHP中獲取MYSQL數據庫返回的數據的行數?
1、首先打開MYSQL的管理工具,新建一個test表,並且在表中插入兩個字段。
2、接下來在Editplus編輯器中創建一個PHP文件,然後進行數據庫連接,並且選擇要操作的數據庫。
3、然後通過mysql_query方法執行一個Insert的插入語句。
4、執行完畢以後,我們回到數據庫管理工具中,這個時候你會發現插入的中文亂碼了。
5、接下來我們在PHP文件中通過mysql_query執行一個set names utf8語句即可完成操作。
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中mysql_affected_rows返回值的問題
很簡單,只需判斷是否執行成功即可,沒必要判斷返回影響行數或記錄數。例如:
$sql=”update $table set $vl where $w”;
$result=$this-query($sql);
//$result執行結果有兩種:成功:true; 失敗:false;然後根據自己需要處理就行了。
return $result;
php中mysql_affected_rows的作用是什麼
定義和用法mysql_affected_rows() 函數返回前一次 MySQL 操作所影響的記錄行數。
語法mysql_affected_rows(link_identifier)
參數:
描述link_identifier
必需:
MySQL 的連接標識符。如果沒有指定,默認使用最後被 mysql_connect() 打開的連接。如果沒有找到該連接,函數會嘗試調用 mysql_connect() 建立連接並使用它。如果發生意外,沒有找到連接或無法建立連接,系統發出 E_WARNING 級別的警告信息。
說明:
取得最近一次與 link_identifier 關聯的 INSERT,UPDATE 或 DELETE 查詢所影響的記錄行數。
返回值:
執行成功,則返回受影響的行的數目,如果最近一次查詢失敗的話,函數返回 -1。
如果最近一次操作是沒有任何條件(WHERE)的 DELETE 查詢,在表中所有的記錄都會被刪除,但本函數返回值在 4.1.2 版之前都為 0。
當使用 UPDATE 查詢,MySQL 不會將原值與新值一樣的列更新。這樣使得 mysql_affected_rows() 函數返回值不一定就是查詢條件所符合的記錄數,只有真正被修改的記錄數才會被返回。
REPLACE 語句首先刪除具有相同主鍵的記錄,然後插入一個新記錄。該函數返回的是被刪除的記錄數加上被插入的記錄數。
例子
?php
$con = mysql_connect(“localhost”,”mysql_user”,”mysql_pwd”);
if (!$con)
{
die(“Could not connect: ” . mysql_error());
}
mysql_select_db(“mydb”);
mysql_query(“DELETE FROM mytable WHERE id 5”);
$rc = mysql_affected_rows();
echo “Records deleted: ” . $rc;
mysql_close($con);
?
輸出:Records deleted: 4
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/304202.html