做一些數(shù)據(jù)庫查詢,不僅希望得到要查詢的結(jié)果,還希望方便地計算一下查詢結(jié)果中有多少條記錄。我通常的做法是:
創(chuàng)新互聯(lián)是專業(yè)的鳩江網(wǎng)站建設公司,鳩江接單;提供成都網(wǎng)站建設、成都網(wǎng)站制作,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行鳩江網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
$q = "select * from $fromTable where $where limit $start,$pageSize";
$r = mysql_query($q);
$q = "select count(*) from $fromTable where $where";
$cnt = mysql_query($q);
當 然可以用mysql_num_rows()或者mysql_affected_rows()來在第一次查詢后得到記錄數(shù)目,但是這兩個函數(shù)返回的都是查詢 后得到的結(jié)果的數(shù)目,是受limit語句的影響的。很多情況下,需要知道這條查詢語句在沒有l(wèi)imit的情況下結(jié)果總數(shù),比如分頁查詢。
mysql 中本身支持一種更好的方法來達到上面的效果,那就是使用SQL_CALC_FOUND_ROWS和FOUND_ROWS()函數(shù)。
mysql中要獲得存儲過程的返回值,可以增加一個out參數(shù),用來返回。
mysql中存儲過程的例子:
CREATE PROCEDURE addvoucher (
IN userid INT,
IN voucherid INT,
OUT result INT
)
BEGIN
SELECT
@endate_a := endate ,@batch_a := batch ,@c_count_a := c_count,
@isdead_a := isdead
FROM
t_voucher
WHERE
id = voucherid;
SET autocommit = 0;
IF EXISTS (
SELECT
*
FROM
t_user_voucher tuv,
t_voucher tv
WHERE
tv.id = tuv.voucherid
AND tv.batch =@batch_a
) THEN
SET result = 1;-- 已存在
SELECT
result;
ELSE
IF @c_count_a 0 THEN
IF (
TO_DAYS(@endate_a) - TO_DAYS(NOW())
) 0 THEN
IF @isdead_a = 1 THEN
INSERT INTO t_user_voucher (userid, voucherid, isdead)
VALUES
(userid, voucherid, 1);
UPDATE t_voucher SET c_count = c_count-1 where id = voucherid;
SET result = 0;-- 成功
END;
mysql_query()一般是用來查詢數(shù)據(jù)里面的數(shù)據(jù)。
如:
$username=$_POST["name"];
$sql="SELECT *FROM members where login_name = 'username'";
$result=mysql_query($sql);
以上程序是檢測數(shù)據(jù)庫中是否存在表單傳送過來的用戶名。
如果檢測成功,$result是返回數(shù)據(jù)庫中的匹配的記錄,如果出錯則$result為false。
需要注意的是,即使數(shù)據(jù)庫中不存在查詢的數(shù)據(jù),檢測也算成功,$result也不會是false.
所以,如果要檢測數(shù)據(jù)庫中是否有匹配記錄就用語句mqsql_fetch_array()來判斷。
$test=mqsql_fetch_array($result);
如果記錄為空則$test為false。這樣就達到了目的。
當前文章:mysql返回值怎么算 計算返回值
網(wǎng)站URL:http://m.newbst.com/article34/hjpope.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設、全網(wǎng)營銷推廣、企業(yè)網(wǎng)站制作、移動網(wǎng)站建設、微信小程序、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)