PHP脚本语法错误

时间:2013-01-20 15:41:57

标签: php mysql

我遇到了PHP的问题(我对此非常缺乏经验)并且我收到以下错误。任何人都可以帮我找到以下错误的原因。

解析错误:语法错误,意外的''(T_ENCAPSED_AND_WHITESPACE),期望在/ home / jsnow / projects / one / htdocs / edit-exec中的标识符(T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING)。第30行的PHP

我的代码:

$dbconn = mysql_select_db(APP_DB);
if(!$dbconn) 
{ 
    die("ERROR SELECTING DB"); 
}

$query = "SELECT * FROM users WHERE users_id='$_SESSION['SESS_USER_ID']'"; 
$result = @mysql_query($query);

if($result) { 
    header("location: success-register.php");  
    exit();
}else { 
    die("Query failed");  
}

我不确定它是否显而易见但我无法看到它。

任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:2)

上面的代码编写得不是很好。

最好使用PDO而不是下面的东西。

然而,问题最有可能是'$ query内部。

尝试以下内容。

$dbconn = mysql_select_db(APP_DB);
if(!$dbconn) {
    die("ERROR SELECTING DB");
}

$query = "SELECT * FROM users WHERE users_id='".$_SESSION['SESS_USER_ID']."'";
$result = @mysql_query($query);

if($result) {
   header("location: success-register.php");
   exit();
}else {
   die("Problem registering");
} 

这会修复代码,但我会建议使用类似下面的代码(稍后会添加params并使用satanize来确保防止sql注入):

$dbh = new PDO("database details");
$sth = $dbh->prepare('SELECT * FROM users WHERE users_id=:users_id');
$sth->bindParam(':users_id', $_SESSION['SESS_USER_ID']);
$sth->execute();

答案 1 :(得分:1)

$query = "SELECT * FROM users WHERE name = '".$full_name."' AND users_id = '".$_SESSION['SESS_USER_ID']."'";
相关问题