2013-05-03 90 views
-8

本主題已經發布了好幾次,但是這裏發佈的解決方案似乎沒有幫助。我已經檢查了分號,空格和查詢,但每當我調用subjaccess.php時,我仍然收到php上的解析錯誤。一次又一次的解析錯誤

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 = "[email protected]"; 

$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)); 
?> 

希望能爲您的答覆。

+1

檢查引號。你說謊,你說你檢查了查詢。 – 2013-05-03 08:49:08

+3

地獄,即使SO語法突出顯示錯誤! – 2013-05-03 08:50:05

+0

這是你的真實密碼嗎? – 2013-05-03 08:50:22

回答

1

雖然它被"包圍,但您的字符串中有雙引號。這打破了你的PHP代碼。但是你不需要它們。你也應該使用JOIN而不是FROM 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' 
"; 
2

更改此

$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' 
0

試試這個

$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 
相關問題