我遇到了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");
}
我不确定它是否显而易见但我无法看到它。
任何帮助都会非常感激。
答案 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']."'";