php 解析错误:语法错误,第 26 行出现意外的 T_STRING
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/6579875/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Parse error: syntax error, unexpected T_STRING on line 26
提问by spencer
Hello im having an issue with my code:
你好,我的代码有问题:
<?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());
}
}
}
?>
What do you think the issue is? Thanks
你认为问题是什么?谢谢
回答by Tudor Constantin
You are not closing a quote here:
你不是在这里结束报价:
$query = "SELECT * FROM users WHERE email=$uemail;
Replace it with:
替换为:
$query = "SELECT * FROM users WHERE email='$uemail'";
回答by KingCrunch
$query = "SELECT * FROM users WHERE email=$uemail;
There is a double quote missing
缺少一个双引号
$query = "SELECT * FROM users WHERE email='$uemail'";
Remember to escape all your parameters used in your sql statements!
记住要转义 sql 语句中使用的所有参数!
回答by rajasaur
You forgot to terminate this line with a quote
你忘了用引号结束这一行
$query = "SELECT * FROM users WHERE email=$uemail;
回答by Rukmi Patel
$query = "SELECT * FROM users WHERE email='".$uemail."'";
$sql = ("UPDATE users SET activationkey='' AND status='activated' WHERE username='".$row['username']."'");
Remember to put single '
or double "
quotes at start and end of the val where datatype is varchar
请记住在数据类型为 varchar 的 val 的开头和结尾处放置单引号'
或双"
引号