如果您不想获得我想要做的事情的完整摘要,请跳到(问题从这里开始)
我正在设置我的新站点并遇到了一个问题。
我基本上想做的是将广告分配到特定国家。因此,例如,如果您来自英国,您将看到我们在英国库存中的广告。
因此,我从 Google 收集了一些关于如何根据 IP 检测用户所在国家/地区的数据。我已经做了一个完美的功能。
$ip_address= $_SERVER['REMOTE_ADDR'];
function ip_location($ip){
$parts = explode('.', $ip);
$numeric_ip = $parts[3] + (256 * $parts[2]) + (256 * 256 * $parts[1]) + (256 * 256 * 256 * $parts[0]);
$sql = "SELECT country FROM iptocountry WHERE lower_bound <= $numeric_ip AND upper_bound >= $numeric_ip LIMIT 1";
$result = mysql_query($sql);
$country = mysql_result($result, 0);
return $country;
}
$country = ip_location($ip_address);
echo $country; // Always echos the correct country
(问题从这里开始)
所以这个功能很好用。在创建了这个函数之后,我创建了一个 MYSQL 查询,它使用来自该函数的数据来选择一个广告来向用户展示。
这是问题开始的地方。
当我键入此查询时:
$sql = "SELECT * FROM `nuevo__htmlad` WHERE `country` = 'united kingdom' AND `active` = 1 ORDER BY RAND() LIMIT 1";
使用country = 'united kingdom'
它工作正常,但当我把country = '$country'
没有任何效果,它从不显示广告。
任何人都可以帮助我理解为什么当我将 PHP 变量放入其中时该查询不起作用。这实际上是第一次这么简单的事情让我如此困扰。
任何帮助,将不胜感激。