2013-01-14 52 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