如果URL已存在于数据库中,如何使用PHP进行检查?

时间:2014-03-18 11:11:26

标签: php mysql sql url exists

我希望能够在使用PHP的sql数据库检查url,看看它是否在表中插入新行之前是否存在。

所以,例如,如果数据库中已经包含以下URL: http://example.com

如何查询数据库以检查该网址是否已存在,或者是否包含该网址的网址。

例如,如果域http://example.com/directory/index.php已提交,我希望返回匹配项,因为顶级域名已存在。

3 个答案:

答案 0 :(得分:0)

像这样的东西???您可以根据数据库中所有URL的存储方式更改查询。

$url_parts=parse_url($url);
$domain=strtolower(str_replace('www.', '', $url_parts['host']));
$query=mysqli_query($dbconn, "SELECT column_name FROM table WHERE 
INSTR(LOWER(url_column_name), '$domain')");

答案 1 :(得分:0)

试试这个......

SELECT DISTINCT SUBSTRING_INDEX(REPLACE(REPLACE(URLfieldName, "http://", ""), "www.", ""), '/', 1) from tableName

答案 2 :(得分:0)

只做一个SELECT?

$url = 'http://example.com';

//Query using COUNT
$sql = "SELECT COUNT(*) AS num FROM `urls` WHERE `url` = :url";

$stmt = $pdo->prepare($sql);
$stmt->bindParam(':url', $url);
$stmt->execute();

$row  = $stmt->fetch();

if($row['num'] > 0){
    //URL already exists.
}