Php 如何知道进入数据库的条目是否唯一
我有一个由两列url和该url的html代码组成的表。使用的列名是url\u in和html\u代码。我使用PHP mysql将数据输入表中。现在我的问题是,我想创建一个函数,当我们输入url时,我想让该函数检查url是否已经存在于表中,如果它存在,那么代码应该回显已经添加的url,否则它应该将url添加到数据库中 尝试使用此代码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 =
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,这是我在另一个问题中给出的答案。