使用PHP从MySQL数据库中选择带有通配符的IP

时间:2012-08-25 19:16:17

标签: php mysql wildcard

我正在尝试根据客户端浏览器的IP地址执行Javascript。我有一个用户信息表,比如他们的名字,另一张表有IP,以及Javascript在他们身上执行的内容。

例如,我希望每次查看此页面时,每个拥有IP 192.168.0。*(我的本地网络)的人都会被重定向到Google。在数据库中,列出的IP为192.168.0.%,在javascript列中我有window.location.href = 'http://www.google.com';

IP 192.168.0.5的人进入我的页面。 PHP运行SQL查询以查找其IP并检查是否存在需要执行的任何特定Javascript(如果它不在数据库中,则客户端没有任何反应)。它应该发现window.location.href = 'http://www.google.com';需要执行,因为它们符合通配符。

我可以在SQL表中的条目中保留通配符,并且它们的行为就像在查询中使用它们一样吗? mysql_query("SELECT javascript_to_execute FROM ip_table WHERE ip='$user_IP'");会有效吗?

1 个答案:

答案 0 :(得分:1)

是的,您可以将通配符%存储为字符串的一部分。 IP范围192.168.0。*可以作为192.168.0.%保存在您的数据库中。然后查询将是SELECT javascript FROM ip_table WHERE '$user_IP' LIKE ip