解析错误:语法错误,第26行意外的T_STRING

时间:2011-07-05 08:33:26

标签: php

您好我的代码有问题:

<?php

session_start();

$host="localhost"; 
$username="root"; 
$password="power1"; 
$db_name="members"; 
$tbl_name="users";

$link  = mysql_connect($host, $username, $password)or die("cannot connect. Please contact us");
mysql_select_db($db_name)or die("cannot select DB. Please contact us");

$queryString = $_SERVER['QUERY_STRING'];

$uemail = $_SESSION['$queryString'];

$query = "SELECT * FROM users WHERE email='$uemail'";

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)){

if ($queryString == $row[activationkey]){

   echo "Congratulations! You have succesfully activated you account. You may now login.";

   $sql=("UPDATE users SET activationkey='' AND status='activated' WHERE username=".$row['username']);

   if (!mysql_query($sql))

{

    die('Error: ' . mysql_error());

}

    }

        }
?>

您认为这个问题是什么?感谢

4 个答案:

答案 0 :(得分:3)

你没有在这里结束引用:

$query = "SELECT * FROM users WHERE email=$uemail;

将其替换为:

$query = "SELECT * FROM users WHERE email='$uemail'";

答案 1 :(得分:2)

$query = "SELECT * FROM users WHERE email=$uemail;

缺少双引号

$query = "SELECT * FROM users WHERE email='$uemail'";

请记住转义sql语句中使用的所有参数!

答案 2 :(得分:1)

您忘记使用引号终止此行

$query = "SELECT * FROM users WHERE email=$uemail;

答案 3 :(得分:0)

$query = "SELECT * FROM users WHERE email='".$uemail."'";
$sql = ("UPDATE users SET activationkey='' AND status='activated' WHERE username='".$row['username']."'");

请记住在数据类型为varchar的val的开头和结尾添加单个'或双"引号