我希望能够在使用PHP的sql数据库检查url,看看它是否在表中插入新行之前是否存在。
所以,例如,如果数据库中已经包含以下URL: http://example.com
如何查询数据库以检查该网址是否已存在,或者是否包含该网址的网址。
例如,如果域http://example.com/directory/index.php已提交,我希望返回匹配项,因为顶级域名已存在。
答案 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.
}