PHP查询数据库中满足条件的记录条数(两种实现方法)

PHP查询数据库中满足条件的记录条数(两种实现方法),第1张

在需要输出网站用户注册数,或者插入数据之前判断是否有重复记录的时候,就需要获取满足条件的MySQL查询的记录数目。

第一种方法:查询时候直接统计

复制代码

代码如下:

$sql="SELECT

COUNT()

AS

count

FROM

TABLE

WHERE

id='$id'";

$result=mysql_fetch_array(mysql_query($sql));

$count=$result['count'];

第二种方法:先取出,后统计

复制代码

代码如下:

$sql="SELECT

FROM

TABLE

WHERE

id='$id'";

$result=mysql_fetch_array(mysql_query($sql));

$count=count($result);//或者$count=mysql_num_rows($result);

不过直接使用MySQL的COUNT()在数据量庞大的时候,效率的优势是十分显著的,因为后者需要二次计算,所以还是最好使用前者进行数据条数的统计。

这篇文章主要介绍了php实现redis数据库指定库号迁移的方法,涉及对于redis数据库的 *** 作技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php实现redis数据库指定库号迁移的方法,分享给大家供大家参考。具体如下:

redis普通的数据库迁移,只能整个redis

save,或者利用主从,当然也可以安装一个redis-dump,不过比较麻烦,这里提供一种php的脚本,实现指定库号的迁移,其实也就是遍历根据存储类型,读出来,插入新库,效果是这样:

代码如下:

[root@localhost

~]#

php

1php

1/407

101/407

201/407

301/407

401/407

PHP实例代码如下:

代码如下:

<php

$from

=

'100252:6379/7';

$to

=

'127001:6379/7';

$from_redis

=

redis_init($from);

$to_redis

=

redis_init($to);

$keys

=

$from_redis->keys('');

$count

=

0;

$total

=

count($keys);

foreach($keys

as

$key){

if(++$count

%

100

==

1){

echo

"$count/$totaln";

}

$type

=

$from_redis->type($key);

switch($type){

case

Redis::REDIS_STRING:

$val

=

$from_redis->get($key);

$to_redis->set($key,

$val);

break;

case

Redis::REDIS_LIST:

$list

=

$from_redis->lRange($key,

0,

-1);

foreach($list

as

$val){

$to_redis->rPush($key,

$val);

}

break;

case

Redis::REDIS_HASH:

$hash

=

$from_redis->hGetAll($key);

$to_redis->hMSet($key,

$hash);

break;

case

Redis::REDIS_ZSET:

$zset

=

$from_redis->zRange($key,

0,

-1,

true);

foreach($zset

as

$val=>$score){

$to_redis->zAdd($key,

$score,

$val);

}

break;

}

}

function

redis_init($conf){

$redis

=

new

Redis();

preg_match('/^([^:]+)(:[0-9]+)/(+)/',

$conf,

$ms);

$host

=

$ms[1];

$port

=

trim($ms[2],

':');

$db

=

$ms[3];

$redis->connect($host,

$port);

$redis->select($db);

return

$redis;

}

>

希望本文所述对大家的php程序设计有所帮助。

就应该数据库进行数据存储,安全!赞功能很简单,既然是要对文章做功能,那么互动角色就是会员,考虑一个问题,会员需要不需要登录才能点赞,如果不需要登录也可以点赞,你需要有个匿名会员。

那么表方面三个:一个文章表,一个赞表,一个会员表

数据存储:

会员点击了赞,相应的数据存到赞的表里面,这个三个表怎么关联的呢?其核心是赞表,这个表里面存有文章的id号和会员的id号,形成关系。

数据读取:

文章内容读取时候,根据文章的id,从赞的表调取相关数据统计,ok。

使用程序无法实现这种功能,因为无法保证事务的一致性,比如:A数据库中的a表复制到B数据库中的a表的过程中,A数据库中的a表的一条记录被删除,这样就无法实现数据的一致性!正确的做法是使用MySQL复制的功能!很简单,只需要几步配置即可!

<php

$localhost = 'localhost';//本地的基本是用localhost

$dbname = 'dbname';//数据库名

$user = 'user';//用户名

$pw = 'pw';//密码

$pdo = new PDO("mysql:host="$localhost";dbname="$dbname"",$user,$pw); 

$pdo->query('set names utf8');

$username = $_POST['username'];

$userpassword = $_POST['userpassword'];

$sql = 'SELECT userpassword FROM `userinf` WHERE `username`="'  $username  '"';

$row = $pdo->query($sql)->fetch();//查询数据库

if($userpassword == $row['userpassword'])

{

@header("Location: >

编辑:(可以新建一个页面用来处理编辑事件)

以下是编辑核心代码

获取传递过来的参数

$id=$_POST["id"];

$programname=$_POST["programname"];

$date=$_POST["date"];

$time=$_POST["time"];

$type=$_POST["type"];

$channel=$_POST["channel"];

$detail=$_POST["detail"];

$tuijian=$_POST["tuijian"];

进行更新 *** 作

$sql="update program set programname='$programname',date='$date',time='$time',type='$type',time='$time',channel='$channel',detail='$detail',tuijian='$tuijian' where id=$id";

删除:和编辑类似

$sql="delete from program where id=$id";

if(mysql_query($sql)){

echo "<script language=javascript>alert('删除成功');windowlocation='news_listphp'</script>";

}else{

echo "<script language=javascript>alert('删除失败');windowlocation='news_listphp'</script>";

}

>

以上就是关于PHP查询数据库中满足条件的记录条数(两种实现方法)全部的内容,包括:PHP查询数据库中满足条件的记录条数(两种实现方法)、php实现redis数据库指定库号迁移的方法、php用数据库怎么实现赞功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9481722.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存