2013-01-14 33 views
-3

我都知道:新的PHP现在我尝试添加以下代码:​​内第5行:加入PHP的mysql_query警告内部

<? // counter.php 
if (!isset($_GET['show']) || $_COOKIE['cookietracker'] != 1) { 
$conid = mysql_connect("localhost", "root", "") or die("Can't connect to database"); 
mysql_select_db("servers"); 
$query = mysql_query("UPDATE login SET points=points+1 WHERE username='<?php echo $user_info['username']; ?>'"); 
mysql_close($conid); unset($query); 
setcookie("countertracker",1,time()+7200); 
} else { 
$query=mysql_query("SELECT points FROM login"); 
$result = mysql_fetch_row($query); 
echo $result['points']; 
} 
?> 

但是,当我这样做,我得到这个错误:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\servers\user_profiles\profile.php on line 5 我一直在寻找很多!

有什么建议吗?

+0

可能是一个更先进一点,而是采取了战利品在使用PDO。你可以准备语句来处理像这样的东西 – Ascherer

回答

1

尝试:

$query = mysql_query("UPDATE login SET points=points+1 WHERE username='".$user_info['username']."'"); 
+0

我是geting:注意:未定义的变量:user_info在第5行的servers \ user_profiles \ profile.php中。这可能是别的吗?但不知道如何解决我猜:S – carl

+0

移动查询,你得到'$ user_info'从上面的查询,我们正在帮助你。 – SeanWM

+1

当我把它移到它的上面时,感谢sean! :) – carl

1

试试这个:

$query = mysql_query("UPDATE login SET points=points+1 WHERE username='" . $user_info['username'] . "'");

您已经在PHP,所以你不需要重新声明,你是在PHP。你只是串联一个字符串。

+0

我是geting:注意:未定义的变量:user_info在第5行的servers \ user_profiles \ profile.php中。那可能是别的吗?但不知道如何解决我猜测:S – carl

+0

这意味着你的$ user_info变量不存在于该范围内。从上面列出的代码中,您没有在脚本的任何位置声明'$ user_info'。它从哪里获取数据? – crush

3

您已经在使用PHP语法,因此您只需将变量连接到字符串。试试这个:

$query = mysql_query("UPDATE login SET points=points+1 WHERE username='" . $user_info['username'] . "'"); 
+0

wierdly enought它我说:注意:未定义的变量:user_info在服务器\ user_profiles \ profile.php第5行 – carl

+0

完全不同的错误:)你只需要确保在引用它之前定义变量。 – AlienWebguy

+0

我使用:<?php echo $ user_info ['username']; ?>在代码中更长,并且它工作正常。玛比在那里? :) – carl