您好我的代码有问题:
<?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());
}
}
}
?>
您认为这个问题是什么?感谢
答案 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的开头和结尾添加单个'
或双"
引号