我无法更新我的SQL行

时间:2014-01-12 19:57:23

标签: php sql

我尝试更新我的行中的数据,但我不能,嗯我得到消息,一切都很顺利,但行根本没有改变。我认为我在增量方面做错了,我的意思是行中的数据是一个字符串,这就是为什么++可能无法使用它。我使用echo来查看数据是什么,例如$ ip,$ lower等,以查看哪些数据脚本将起作用,一切顺利,但UPDATE没有。这是我的代码:

$ip = $_SERVER['REMOTE_ADDR'];
echo $ip_for_map;
$ip_data_for_map = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));
$country_upper = $ip_data_for_map->geoplugin_countryCode;
echo $country_upper;
$country_lower = strtolower($country_upper);
echo $country_lower;
$main_for_table = 1;
$take_from_sql_country = "SELECT $country_lower FROM table WHERE main='$main_for_table'";
$country_taken_from_table = mysqli_query($dbc, $take_from_sql_country);
$row_sl_map = mysqli_fetch_assoc($country_taken_from_table);
$row_country_data = $row_sl_map['$country_lower']; 
$row_final = $row_country_data++;
$update_countrys_row = "UPDATE table SET $country_lower='$row_final' WHERE main='$main_for_table'";
$update_country_final = mysqli_query($dbc, $update_countrys_row);
if(!$update_country_final)
{
    echo 'BADSHIT';
}
else
{
    echo 'BRAVO';
}

1 个答案:

答案 0 :(得分:1)

$row_country_data = $row_sl_map['$country_lower'];

这一行实际上是在寻找一个名为$country_lower的数组键,而不是变量$country_lower中包含的键。

删除单引号。

还应该注意的是,即使查询没有更新(如您的错误代码中的情况),查询本身仍然会成功。