如何更正此 mysql_query,使用正确的语法并使其工作? [英] How to correct this mysql_query, use the right syntax and make it work?

查看:51
本文介绍了如何更正此 mysql_query,使用正确的语法并使其工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在此处提出了一个问题.但是因为我没有得到对我有很大帮助的答案,所以我想再问一次.

I've already made a question about this here. But since i didn't get answer that helped me a lot i would like to ask again.

    In Database [1]
    Table Characters
+----+------------------+-------+---------+
|account_name| lastaccess| online| voted  |
+------------+-----------+-------+--------+
| Account1   | 1231321231|   1   |    1   |
| Account1   | 132312213 |   0   |    0   |
| Account3   | 13231212  |   0   |    0   |
+------------+-----------+-------+--------+
    In Database [2]
    Table Accounts
+----+------------------+
|   Login   | lastIp    | 
+-----------+-----------+
| Account1  | 0.0.0.0.0 |
| Account1  | 0.0.0.0.0 |
| Account3  | 0.0.0.0.0 |
+-----------+-----------+

我已经有一个函数可以获取 lastIP 帐户的位置.

I've already got a function that gets where lastIP account.

function getclientip()
    {
        if ( isset($_SERVER["REMOTE_ADDR"]) )    { 
            return $_SERVER["REMOTE_ADDR"]; 
        } else if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) )    { 
            return $_SERVER["HTTP_X_FORWARDED_FOR"] ; 
        } else if ( isset($_SERVER["HTTP_CLIENT_IP"]) )    { 
            return $_SERVER["HTTP_CLIENT_IP"] ; 
        }
            return "0.0.0.0";
    }
$Ip=getclientip();
$sql='SELECT login FROM accounts WHERE lastIp like \''.$Ip.'\';';
echo mysql_error();
$result = mysql_query($sql);
if (false === $result) {
}
while($row = mysql_fetch_array($result))
{

我想做的是:

mysql_query('update characters SET voted=1 where account_name like \''.$row['login'].'\' and online=1;') ;

但是只有MIN(lastaccess).我希望你能理解我的意思,否则问我我会解释得更好.

But where MIN(lastaccess) only. I hope you get my mind, in other case ask me i will explain better.

推荐答案

很好,我将跳过您的功能,因为 REMOTE ADRES 始终可用.

very well i will skip your function since REMOTE ADRES is always available.

$Ip = $_SERVER['REMOTE_ADDR'];
$sql= mysqli_query( $database, "SELECT login FROM accounts WHERE lastIp = '$ip' ");

while($row = mysqli_fetch_assoc($sql)) {
    if(mysqli_query("UPDATE characters SET voted = '1' WHERE account_name = "'.$row['login'].'" AND online = '1'")) {
       print 'updated succesfully';
    } else {
        print 'update did not complete';
    }
}

我不会评论你的行为,我只想说这是你从我这里得到的唯一答案.

I will not comment on your behavior, all i say is this is the only answer you get from me.

这篇关于如何更正此 mysql_query,使用正确的语法并使其工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆