PHP避免向MySql添加重复记录的实例代码

   最近写了下英文搜索的小偷,为了让蜘蛛更好的享受链接的乐趣,因此使用了入库处理,将最近的搜索写入到mysql中,同时在首页调用这些查询数据,就可以达到网站地图的效果,但是弊端也出现了了,那就是重复记录的问题。

  在网上找到一段实例,经过修改发现可行,现将代码公布如下:

  $link=mysql_connect(‘localhost’,’root’,’1234’); //得到MySQL数据库连接

  $username=$_GET["name"]; //得到从客户端表单传过来的数据

  $q="select * from usertable where user_name='$username'";

  mysql_query("SET NAMES gb2312"); //避免出现中文乱码

  $rs = mysql_query($q, $link); //查询数据库

  $num_rows = mysql_num_rows($rs); //得到查询结果的总行数

  if($num_rows==0)

  // 烈火網 liehuo.net 欢迎复制,拒绝恶意采集 liehuo.net

  {

  $exec="insert into student (user_name) values ($username)";

  mysql_query("SET NAMES gb2312");

  mysql_query($exec, $link); //若没有此用户则将数据插入到数据库(注册用户)

  echo "用户注册成功!";

  }

  else

  {

  echo "该用户名已存在,请重新选择用户名!";

  }

  ?>

时间: 2024-11-18 15:57:31

PHP避免向MySql添加重复记录的实例代码的相关文章

thinkphp利用模型通用数据编辑添加和删除的实例代码_php实例

数据添加函数实例 //数据添加 public function newData($strName="") { if (IS_POST) { //如果用户提交数据 $model = D("$strName"); if (!$model->create()){ // 如果创建失败 表示验证没有通过 输出错误提示信息 $info = array( "info"=>"{$model->getError()}", &q

Android中ActionBar和ToolBar添加返回箭头的实例代码

1.ActionBar添加返回箭头 //onCreate方法中 ActionBar actionBar = this.getSupportActionBar(); actionBar.setTitle("搜索功能"); actionBar.setDisplayHomeAsUpEnabled(true); //activity类中的方法 @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getI

thinkphp利用模型通用数据编辑添加和删除的实例代码

数据添加函数实例 //数据添加 public function newData($strName="") { if (IS_POST) { //如果用户提交数据 $model = D("$strName"); if (!$model->create()){ // 如果创建失败 表示验证没有通过 输出错误提示信息 $info = array( "info"=>"{$model->getError()}", &q

mysql 去除重复记录sql语句详解

SQL SELECT DISTINCT 语句 语法: SELECT DISTINCT 列名称 FROM 表名称使用 DISTINCT 关键词 如果要从 "Company" 列中选取所有的值,我们需要使用 SELECT 语句: SELECT Company FROM Orders 如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:  代码如下 复制代码 SELECT DISTINCT Company FROM Orders 下

mysql删除重复记录的sql语句与查询重复记录(1/4)

方法1 delete yourtable where [id] not in ( select max([id]) from yourtable group by (name + value)) 方法2 delete a from 表 a left join( select (id) from 表 group by name,value )b on a.id=b.id where b.id is null 查询及删除重复记录的sql语句 查询及删除重复记录的sql语句 1.查找表中多余的重复记录

mysql删除重复记录语句的方法_Mysql

例如: id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b pp 6 c pp 7 c pp 8 c iii id是主键 要求得到这样的结果 id name value 1 a pp 3 b iii 4 b pp 6 c pp 8 c iii 方法1 delete YourTable where [id] not in ( select max([id]) from YourTable group by (name + value)) 方法2 delet

MySQL查询重复记录sql语句

常用的语句 1.查找表中多余的重复记录,重复记录是根据单个字段(mail_id)来判断  代码如下 复制代码  SELECT * FROM table WHERE mail_id IN (SELECT mail_id FROM table GROUP BY mail_id HAVING COUNT(mail_id) > 1); 2.删除表中多余的重复记录,重复记录是根据单个字段(mail_id)来判断,只留有rowid最小的记录  代码如下 复制代码 DELETE FROM table WHER

mysql删除重复记录的sql语句与查询重复记录

方法1 delete yourtable where [id] not in ( select max([id]) from yourtable group by (name + value)) 方法2 delete a from 表 a left join(select (id) from 表 group by name,value)b on a.id=b.id where b.id is null 查询及删除重复记录的sql语句 1.查找表中多余的重复记录,重复记录是根据单个字段(peopl

MySQL MEM_ROOT详解及实例代码_Mysql

MySQL MEM_ROOT详解 这篇文章会详细解说MySQL中使用非常广泛的MEM_ROOT的结构体,同时省去debug部分的信息,仅分析正常情况下,mysql中使用MEM_ROOT来做内存分配的部分. 在具体分析之前我们先例举在该结构体使用过程中用到的一些宏: #define MALLOC_OVERHEAD 8 //分配过程中,需要保留一部分额外的空间 #define ALLOC_MAX_BLOCK_TO_DROP 4096 //后续会继续分析该宏的用途 #define ALLOC_MAX_