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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 00:47:10  来源:igfitidea点击:

Parse error: syntax error, unexpected T_STRING on line 26

php

提问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 的开头和结尾处放置单引号'或双"引号