我正在尝试制作最后一个在线系统,这是(应该)在登录后运行的代码
$name = $user['username']
mysql_query("UPDATE users SET last_activity = now() WHERE username = $name");
$message = "Connected";
通常,如果我在php标签中键入此代码,则显示名称
echo $user['username']
但似乎mysql_query中的这个变量不起作用
为什么呢? 我该如何设置" $ name"使它工作?
答案 0 :(得分:1)
您必须在'$name'
中使用引号。
尝试:
mysql_query("UPDATE users SET last_activity = now() WHERE username = '$name'");
答案 1 :(得分:0)
您需要围绕变量引用
mysql_query("UPDATE users SET last_activity = now() WHERE username = '$name'");
答案 2 :(得分:0)
这里的问题是你需要在mysql查询中引用一个字符串,所以你的查询应该是
"UPDATE users SET last_activity = now() WHERE username = \"$name\""
但是出于多种原因,我仍然会谨慎对待这样的直接查询操作。您是否考虑使用像PDO http://www.php.net/manual/en/book.pdo.php这样的库?
答案 3 :(得分:0)
您必须将查询与
之类的变量连接起来mysql_query("UPDATE users SET last_activity = now() WHERE username = '" . $name . "');
答案 4 :(得分:0)
我自己用另一个变量解决了 在index.php中使用此代码一切正常:)
mysql_query("UPDATE users SET last_activity = now() WHERE uid = {$user['uid']}");