php
  • mysql
  • 2013-03-13 71 views 1 likes 
    1

    您好我有一個MYSQL查詢,它可以統計www.google.com在數據庫字段中出現的次數,這很好,我試圖找到的方法是這將確定谷歌,無論是www.google.com,www.google.co.uk等,等在mysql數據庫字段中查找URL的變體

    下面是我的代碼,

    $result = mysql_query("SELECT * FROM data WHERE referer='www.google.com' and member ='$site_id'"); 
    

    任何建議,將不勝感激,謝謝。

    +2

    'LIKE www.google%'? – Daedalus 2013-03-13 00:31:43

    +0

    ** DING!** SQL注入警告'member ='$ site_id''! **丁丁!** – slezica 2013-03-13 00:38:12

    回答

    0

    你可以嘗試一個簡單的LIKE查詢:

    SELECT * FROM data WHERE referer LIKE 'www.google.%' and member ='$site_id'

    這將匹配以字符串開頭的referer任何價值 「www.google。」

    另外,您不使用mysql_*功能的強制性建議...已被棄用。改爲使用PDOmysqli

    +0

    完美的謝謝,沒有意識到它是如此簡單,並感謝您的建議。讚賞 – user1941709 2013-03-13 00:37:37

    2

    您可以使用LIKE搜索帶通配符語法的字符串:%零個或多個任意字符:

    WHERE referer LIKE 'www.google.co%' 
    

    您可以使搜索更具體或更小爲好。


    順便說一下,您的代碼易受注入。您應該使用PDO或mysqli正確使用參數化查詢。

    +0

    +1感謝上帝的警告 – slezica 2013-03-13 00:37:42

    +0

    不一定如果輸入被正確過濾 – 2013-03-13 00:56:41

    +0

    @YounElan查詢中存在漏洞,無論輸入是否被消毒 – 2013-03-13 00:58:14

    相關問題