2010-04-27 7 views
0

Je possède ce tableau de base de données:MySQL: Recherche par nom d'hôte dans le champ contenant urls

id | url 
----------------------------------------- 
1 | http://stackoverflow.com/ 
2 | http://www.google.com 
3 | http://example.com/somepage 
4 | https://another.net?id=88 
5 | http://hello.org/index.php?hello=2 
6 | http://google.com?q=hello+world 

J'ai besoin de rechercher tous les champs, où l'URL appartient à un hôte. Par exemple, si je donne la requête google.com, les lignes 2 et 6 seront renvoyées (www est ignoré). Je reçois l'hôte en utilisant la fonction PHP parse_url().

A quoi ressemblerait cette requête SQL?

Répondre

3

SELECT * FROM nom_table where URL comme « % nom_hôte% »

Remplacer nom_de_table le nom de votre table et remplacez host_name par le nom de l'hôte que vous cherchez à être contenu dans l'URL.

+0

example.com/somepage?url=google.com&another_url=example.net –

+0

Extrait les paramètres de requête de l'URL et les remplace dans le sql je vous ai montré ci-dessus;) –

+0

Merci :) Je dis juste, que si l'URL dans la base de données ressemblait à ceci: "example.com/somepage?url=google.com&another_url=example.net" et que je chercherais "google.com", le résultat sera incorrect. –

Questions connexes