我在这里有些东西可能很容易,但我在过去的30分钟里一直在搜索Google而没有成功,所以我希望有人可以帮助我做我正在做的事情错。
我在服务器上的会话中有一些值存储,我试图在每个用户的基础上检索它们,然后在进一步的查询中使用。但是出于某种原因,它的表现就好像价值是空的,所以我不知道我做错了什么?
$session_country = $_SESSION['my_country_code'];
$user_country = $db->get_sql_field("SELECT id FROM db_countries WHERE country_iso_code='".$session_country."'","country");
echo "your country is ";
echo $user_country;
我非常感谢我做错的任何提示:(
当我这样做时:
<? print_r($_SESSION['my_country_code']); ?>
它显示没问题!
// EDIT
以下是get_sql_field的代码:
function get_sql_field ($query, $field, $null_message = NULL)
{
(string) $field_value = NULL;
$query_result = $this->query($query);
if ($this->num_rows($query_result))
{
$field_value = $this->sql_result($query_result, 0, $field);
}
else
{
$field_value = $null_message;
}
return $field_value;
}
答案 0 :(得分:1)
在我看来,您实际上并未在查询中选择“国家/地区”字段(只是“id”),但您正在尝试访问“国家/地区”字段。要么选择“country”字段,要么将get_sql_field()调用的第二个参数更改为“id”,如果那是你实际想要的那个。
答案 1 :(得分:0)
试试这个:
$session_country = $_SESSION['my_country_code'];
$qry = "SELECT country FROM db_countries WHERE country_iso_code='".$session_country."'";
$user_country = $db->get_sql_field($qry,"country");
echo "your country is ".$user_country;