如何更正此 mysql_query,使用正确的语法并使其工作? [英] How to correct this mysql_query, use the right syntax and make it work?
本文介绍了如何更正此 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屋!
查看全文