-1

我在使用 PHP 时遇到问题(我对此非常缺乏经验),并且出现以下错误。谁能帮我找到以下错误的原因。

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

我的代码:

$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");  
}

我不确定它是否很明显,但我看不到。

任何帮助将不胜感激。

4

2 回答 2

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");
} 

这将修复代码,但我建议使用类似下面的代码(稍后将添加参数并撒旦确保防止 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();
于 2013-01-20T15:43:49.723 回答
1
$query = "SELECT * FROM users WHERE name = '".$full_name."' AND users_id = '".$_SESSION['SESS_USER_ID']."'";
于 2013-01-20T15:44:42.237 回答