php查詢數據庫影響行數 php查詢數據庫影響行數和列數

PHP可以連接數據庫就是執行不了SQL語句也返回不了受影響行數

1.最大執行時間問題,解決方法:分批處理邏輯,比如用ID大小分批處理

10余年建站經驗, 網站建設、網站設計客戶的見證與正確選擇。成都創新互聯提供完善的營銷型網頁建站明細報價表。后期開發更加便捷高效,我們致力于追求更美、更快、更規范。

2.多字段組合不可重復的設定,解決方法:查看表設計結構,看看有沒有此項設定

3.去掉執行語句1,只運行語句2.

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_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

php PDO操作oracle,如何返回sql語句所影響的記錄行數

主要是三條語句:

1、聲明一個PDO對象:

$conn = new PDO("");

2、運用exec函數:

$sql="DELETE FROM fruit WHERE colour = 'red'";

sql語句不能是select操作,select操作用這個函數不會返回結果

$count = $conn-exec($sql);

3、輸出結果:

print("Deleted $count rows.\n");

怎么在mysql命令行中返回mysql的影響行數

mysql_affected_rows() 返回最近一次與 連接句柄 關聯的 INSERT,UPDATE 或 DELETE 查詢所影響的記錄行數.FOUND_ROWS() : select ROW_COUNT() : update delete insert.

FOUND_ROWS() : select

ROW_COUNT() : update delete insert.

MySQL的函數中,SELECT是另外一個單獨的函數 FOUND_ROWS() , UPDATE等是 ROW_COUNT()

如下案例:

mysql INSERT INTO t VALUES(1),(2),(3); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql SELECT ROW_COUNT(); +-------------+ | ROW_COUNT() | +-------------+ | 3 | +-------------+ 1 row in set (0.00 sec)

mysql_affected_rows

(PHP 3, PHP 4 , PHP 5)

mysql_affected_rows -- 取得前一次 MySQL 操作所影響的記錄行數說明

int mysql_affected_rows ( [resource link_identifier])

mysql_affected_rows() 返回最近一次與 連接句柄 關聯的 INSERT,UPDATE 或 DELETE 查詢所影響的記錄行數。如果連接句柄沒有指定, 則默認使用最近一次由 mysql_connect() 函數打開的連接句柄。

注: 如果你使用事務處理(transactions),你需要在 INSERT,UPDATE 或 DELETE 查詢后調用 mysql_affected_rows() 函數,而不是在 commit 命令之后。

如果最近一次操作是沒有任何條件(WHERE)的 DELETE 查詢, 在表中所有的記錄都會被刪除,但該函數返回值為 0。

注: 當使用 UPDATE 查詢,MySQL 不會將原值和新值一樣的列更新。 這樣使得 mysql_affected_rows() 函數返回值不一定就是查詢條件所符合的記錄數。 只有真正被修改的記錄數才會被返回。

mysql_affected_rows() 函數不適用于 SELECT 語句;只適用于能夠修改記錄的語句中。請使用 mysql_num_rows() 函數來獲得 SELECT 所返回的記錄行數。

如果最近一次查詢失敗的話,函數返回 -1。 例子 1. Delete 操作

?php /* 連接數據庫 */ mysql_pconnect("localhost", "mysql_user", "mysql_password") or die ("Could not connect" . mysql_error()); mysql_select_db("mydb"); /* 這會返回有效的被刪除記錄數。 */ mysql_query("DELETE FROM mytable WHERE id 10"); printf ("Records deleted: %d/n", mysql_affected_rows()); /* 沒有任何條件(where)的刪除語句,返回 0 */ mysql_query("DELETE FROM mytable"); printf ("Records deleted: %d/n", mysql_affected_rows()); ?

以上的例子會得出下面的運行結果:

Records deleted: 10Records deleted: 0

例子 2. Update 操作

?php /* 連接數據庫 */ mysql_pconnect("localhost", "mysql_user", "mysql_password") or die ("Could not connect" . mysql_error()); mysql_select_db("mydb"); /* Update 記錄 */ mysql_query("UPDATE mytable SET used=1 WHERE id 10"); printf ("Updated records: %d/n", mysql_affected_rows()); mysql_query("COMMIT"); ?

以上的例子會得出下面的運行結果:

Updated Records: 10

參見 mysql_num_rows() 和 mysql_info()。

mysql_affected_rows() 返回的是對行操作的個數

$query=mysql_query("select * from love_mp3_table ");

mysql_affected_rows();//其實對這個也有效,返回44,在這和mysql_num_rows($query)效果一樣

$query=mysql_query("INSERT INTO table(id,title,hrefurl) VALUE('','節節勝利','http://')");

mysql_affected_rows();//返回1

$query=mysql_query("DELETE FROM tabel WHERE id=45");

mysql_affected_rows();//返回1

$query=mysql_query("UPDATE table SET title='我是' WHERE id=44");

mysql_affected_rows();//返回1

如何用php修改數據庫中的數據

舉例如下:

創建userinfo_update.php頁面用于查詢用戶信息,先顯示信息,在修改:

先通過GET獲取用戶編號查詢用戶信息:

$sql = "select * from user_info where user_id='".$_GET['userId']."'";

$result = mysql_query($sql,$con);

if($row = mysql_fetch_array($result)){

}

頁面效果:

創建update.php文件,用于修改用戶信息:

使用到了mysql_affected_rows() 函數返回前一次 MySQL 操作所影響的記錄行數。

//通過post獲取頁面提交數據信息

$userId = $_POST[userId];

$userName = $_POST[userName];

$userAge = $_POST[userAge];

$sql = "update user_info set user_name='".$userName."',user_age=".$userAge." where user_id='".$userId."'";

mysql_query($sql,$conn);//執行SQL

$mark? = mysql_affected_rows();//返回影響行數

$url = "userinf_select.php";

運行結果

創建delete.php文件,完成刪除用戶信息功能:

$userId = $_GET['userId'];

include 'connection.php';

$sql = "delete from user_info where user_id='".$userId."'";

mysql_query($sql,$con);

$mark? = mysql_affected_rows();//返回影響行數

if($mark0){

echo "刪除成功";

}else{

echo? "刪除失敗";

}

mysql_close($con);

運行結果:

分享文章:php查詢數據庫影響行數 php查詢數據庫影響行數和列數
標題鏈接:http://m.kartarina.com/article42/dodshhc.html

成都網站建設公司_創新互聯,為您提供品牌網站制作云服務器外貿建站App開發網站導航網站營銷

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站建設
主站蜘蛛池模板: 久久久久无码专区亚洲av| 无码国产精品一区二区免费式芒果| 人妻少妇无码精品视频区| 国产AV无码专区亚洲A∨毛片| 亚洲国产精品无码久久久不卡 | 无码人妻品一区二区三区精99| 蜜桃臀无码内射一区二区三区| 无码 免费 国产在线观看91| 无码精品人妻一区二区三区免费看| 久久亚洲AV成人无码国产电影| 亚洲日韩精品无码专区网址| 免费无码婬片aaa直播表情| 亚洲av无码国产精品色午夜字幕 | 精品少妇人妻AV无码专区不卡 | 亚洲成a人片在线观看无码| 亚洲精品无码高潮喷水A片软| 亚洲精品无码久久千人斩| 无码视频免费一区二三区| 精品无码人妻一区二区免费蜜桃| 国产精品午夜福利在线无码 | 精品无码中文视频在线观看| 日韩乱码人妻无码中文字幕| 国产精品亚韩精品无码a在线| 国产成人无码aa精品一区| 岛国无码av不卡一区二区| 无码毛片内射白浆视频| 亚洲精品无码永久在线观看男男| 亚洲av永久无码精品国产精品 | 国产成人无码专区| 国产嫖妓一区二区三区无码| 一本天堂ⅴ无码亚洲道久久 | 久久亚洲精品无码gv| 人妻丰满熟妇AV无码区| 亚洲国产成AV人天堂无码| 无码人妻少妇色欲AV一区二区 | 亚洲国产综合无码一区二区二三区| 亚洲综合无码无在线观看| AV无码久久久久不卡蜜桃| 最新无码专区视频在线| 精品久久久久久无码中文字幕一区 | 国产成人无码av|