mysql返回值怎么算 计算返回值

mysql如何对查询到的结果做计算?

做一些数据库查询,不仅希望得到要查询的结果,还希望方便地计算一下查询结果中有多少条记录。我通常的做法是:

创新互联是专业的鸠江网站建设公司,鸠江接单;提供成都网站建设、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行鸠江网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

$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()来在第一次查询后得到记录数目,但是这两个函数返回的都是查询 后得到的结果的数目,是受limit语句的影响的。很多情况下,需要知道这条查询语句在没有limit的情况下结果总数,比如分页查询。

mysql 中本身支持一种更好的方法来达到上面的效果,那就是使用SQL_CALC_FOUND_ROWS和FOUND_ROWS()函数。

如何 mysql 存储过程返回值

mysql中要获得存储过程的返回值,可以增加一个out参数,用来返回。

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()的返回值到底是什么

mysql_query()一般是用来查询数据里面的数据。

如:

$username=$_POST["name"];

$sql="SELECT *FROM members where login_name = 'username'";

$result=mysql_query($sql);

以上程序是检测数据库中是否存在表单传送过来的用户名。

如果检测成功,$result是返回数据库中的匹配的记录,如果出错则$result为false。

需要注意的是,即使数据库中不存在查询的数据,检测也算成功,$result也不会是false.

所以,如果要检测数据库中是否有匹配记录就用语句mqsql_fetch_array()来判断。

$test=mqsql_fetch_array($result);

如果记录为空则$test为false。这样就达到了目的。


网站栏目:mysql返回值怎么算 计算返回值
URL标题:http://cdiso.cn/article/hjpope.html

其他资讯