Php 反复分析错误
这个主题已经发布了好几次,但是在SO中发布的解决方案似乎没有帮助。我已经检查了分号、空格和查询,但是每当我调用subjectaccess.php时,仍然会收到php上的解析错误Php 反复分析错误,php,mysql,Php,Mysql,这个主题已经发布了好几次,但是在SO中发布的解决方案似乎没有帮助。我已经检查了分号、空格和查询,但是每当我调用subjectaccess.php时,仍然会收到php上的解析错误 Parse error: syntax error, unexpected T_STRING in /home/a8367888/public_html/subjaccessrequest.php on line 14 以下是我的php代码: <?php $mysql_hostname = "localhost"
Parse error: syntax error, unexpected T_STRING in /home/a8367888/public_html/subjaccessrequest.php on line 14
以下是我的php代码:
<?php
$mysql_hostname = "localhost";
$mysql_database = "database";
$mysql_user = "username";
$mysql_password = "password";
//$pass = $_POST['email'];
$pass = "blahblach@gmail.com";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password)
or die("Opps something went wrong");
mysql_select_db($mysql_database, $bd) or die("Oops something went wrong");
$query = "SELECT (a.acode) as "access_id", (s.s_first_name) as "fname", (s.s_middle_initial) as "mname", (s.s_last_name) as "lname", (a.s_email) as "email", (a.req_subj) as "subjcode"
FROM access a, student s
WHERE a.s_email = s.s_email
AND a.t_email = '$pass'
AND a.access_status = "pending";
$result = mysql_query($query) or die('MySql Error' . mysql_error());
while ($row = mysql_fetch_array($result))
{
$res[]=array('aid'=> $row['access_id'],'fname'=> $row['fname'],'mname'=> $row['mname'], 'lname'=> $row['lname'], 'email'=> $row['email'], 'subj'=> $row['subjcode']);
}
echo '$res';
$response['request'] = $res;
print(json_encode($response));
?>
您的字符串中有双引号,尽管它被“
包围。这会破坏您的PHP代码。但您无论如何都不需要它们。此外,您应该使用连接
,而不是使用a,b
中的。并且查询中的所有标识符都应该用backtics`引用。最终查询应该如下所示:
$query = "
SELECT
`a`.`acode` AS `access_id`,
`s`.`s_first_name` AS `fname`,
`s`.`s_middle_initial` AS `mname`,
`s`.`s_last_name` AS `lname`,
`a`.`s_email` AS `email`,
`a`.`req_subj` AS `subjcode`
FROM `access` `a`
JOIN `students` `s`
ON `a`.`s_email` = `s.s_email`
AND `a`.`t_email` = '$pass'
AND `a`.`access_status` = 'pending'
";
改变这个
$query = "SELECT (a.acode) as "access_id", (s.s_first_name) as "fname", (s.s_middle_initial) as "mname", (s.s_last_name) as "lname", (a.s_email) as "email", (a.req_subj) as "subjcode"
到
试试这个
$query = "SELECT (a.acode) as " . access_id . ", (s.s_first_name) as " . fname . ", (s.s_middle_initial) as " . mname . ", (s.s_last_name) as " . lname . ", (a.s_email) as "email", (a.req_subj) as " . subjcode
检查引号。你这个骗子,你说你检查了查询。见鬼,尽管如此,语法高亮显示还是显示了错误!这是你的真实密码吗?请学习语法基础…
$query = "SELECT (a.acode) as " . access_id . ", (s.s_first_name) as " . fname . ", (s.s_middle_initial) as " . mname . ", (s.s_last_name) as " . lname . ", (a.s_email) as "email", (a.req_subj) as " . subjcode