Php 如何知道进入数据库的条目是否唯一

Php 如何知道进入数据库的条目是否唯一,php,mysql,sql,database,Php,Mysql,Sql,Database,我有一个由两列url和该url的html代码组成的表。使用的列名是url\u in和html\u代码。我使用PHP mysql将数据输入表中。现在我的问题是,我想创建一个函数,当我们输入url时,我想让该函数检查url是否已经存在于表中,如果它存在,那么代码应该回显已经添加的url,否则它应该将url添加到数据库中 尝试使用此代码 function check_unique($url){ $sql = "select * from table_name where url_in =

我有一个由两列url和该url的html代码组成的表。使用的列名是url\u in和html\u代码。我使用PHP mysql将数据输入表中。现在我的问题是,我想创建一个函数,当我们输入url时,我想让该函数检查url是否已经存在于表中,如果它存在,那么代码应该回显已经添加的url,否则它应该将url添加到数据库中

尝试使用此代码

function check_unique($url){
      $sql = "select * from table_name where url_in = '$url'";
      $result = mysql_query($sql); //use mysqli instead of mysql. Here I use mysql for example
      if(mysql_num_rows($result)===0){
            return true;
      }else{
            return false;
      }
}
现在,以这个函数为例进行检查

$url = "http://www.google.com";

//check unique
$isUnique = check_unique($url);

if($isUnique){
     //do insert query
}else{
     echo 'URL already exist';
}
试试这个:

INSERT INTO table(url_in , html_code)
  SELECT 'YOUR_URL','YOUR HTML CODE' FROM DUAL
WHERE NOT EXISTS 
  (SELECT url_in  FROM table WHERE url_in ='YOUR_URL');

我之前回答了一个几乎完全相同的问题。但是我希望它以php的方式出现,为什么不让数据库来处理呢?它在这方面做得更好,而且它是可移植的;如果你的应用程序离开了PHP,那么你的数据库仍然会执行独特的约束。我完全同意@Makoto,这是我在另一个问题中给出的答案。