Php:如何使变量在mysql指令中工作

时间:2014-04-28 16:06:28

标签: php mysql variables login

我正在尝试制作最后一个在线系统,这是(应该)在登录后运行的代码

$name = $user['username']
    mysql_query("UPDATE users SET last_activity = now() WHERE username = $name");
    $message = "Connected";

通常,如果我在php标签中键入此代码,则显示名称

   echo $user['username']

但似乎mysql_query中的这个变量不起作用

为什么呢? 我该如何设置" $ name"使它工作?

5 个答案:

答案 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']}");