You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP代码第8行出现Parse error: syntax error, unexpected T_VARIABLE报错求助

解决PHP语法错误:Parse error: syntax error, unexpected T_VARIABLE

嘿,我一眼就揪出问题所在啦!你遇到的这个语法错误,根源是SQL查询语句里的双引号嵌套冲突,导致PHP没法正确解析代码。

错误原因分析

原代码第8行的SQL查询部分:

mysqli_query($con,"select*from user101 where email="$email" and password="$password"")

你用双引号包裹了整个SQL字符串,但里面又用双引号去包裹$email和$password变量——PHP会把email=后面的双引号当成整个字符串的结束标记,紧接着的$email就变成了无意义的独立变量,直接触发了语法错误。

修复方案(两种方式,强烈推荐第二种)

方案1:修正字符串拼接逻辑

要么去掉变量外的多余双引号(双引号字符串里可以直接解析变量),要么用字符串连接符.拼接变量和SQL片段:

<?php 
session_start(); 
$email=$_REQUEST['email']; 
$password=$_REQUEST['password']; 
$con=mysqli_connect("localhost","root","","mydb"); 

// 修复后的查询:去掉变量外的双引号,同时给select和*加空格提升可读性
if(mysqli_fetch_array(mysqli_query($con,"select * from user101 where email='$email' and password='$password'"))) { 
    $_SESSION['email']=$email; 
    // 注意:echo内容会导致header跳转失效,建议注释或移除
    // echo "login successful"; 
    header("Location:welcome.php"); 
    exit; // 跳转后终止脚本执行
} else { 
    echo "Login failed"; 
} 
?>

方案2:使用预处理语句(安全首选,避免SQL注入)

原代码直接把用户输入拼到SQL里存在严重的SQL注入风险,用预处理语句既能彻底解决语法问题,又能大幅提升代码安全性:

<?php 
session_start(); 
// 登录请求建议用$_POST而非$_REQUEST,更严谨
$email=$_POST['email'] ?? ''; 
$password=$_POST['password'] ?? ''; 
$con=mysqli_connect("localhost","root","","mydb"); 

// 准备预处理SQL语句,用?作为占位符
$stmt = mysqli_prepare($con, "SELECT * FROM user101 WHERE email = ? AND password = ?");
// 绑定参数:"ss"表示两个字符串类型的参数,对应$email和$password
mysqli_stmt_bind_param($stmt, "ss", $email, $password);
// 执行语句
mysqli_stmt_execute($stmt);
// 获取结果集
$result = mysqli_stmt_get_result($stmt);

if(mysqli_fetch_array($result)) { 
    $_SESSION['email']=$email; 
    header("Location:welcome.php"); 
    exit;
} else { 
    echo "Login failed"; 
} 
// 清理资源
mysqli_stmt_close($stmt);
mysqli_close($con);
?>

额外小提醒

  1. 不要用$_REQUEST接收敏感输入,登录请求优先用$_POST;
  2. 数据库里绝对不能明文存储密码!应该用password_hash()加密,验证时用password_verify();
  3. header()跳转前不能输出任何内容(包括echo、空格、换行),否则会因为HTTP头已发送而失效。

内容的提问来源于stack exchange,提问作者happyswine44

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:59:57