2014-03-04 133 views
-2

我似乎無法找到我錯過關閉語句的位置。

我不斷收到此錯誤

PHP Parse error: syntax error, unexpected $end in /var/www/html/gs_phonebook.php on line 50 

這是我的代碼。

[php] 
<?php 
// File: gs_phonebook.php 
// version: 1.0 
// Description: Generating a XML Phonebook from FreePBX MySQL DB 
//!!Enable for Debug only!! 
error_reporting(E_ALL); 
ini_set("display_errors",ON); 

// Database settings 
$DBhost="comms.****"; 
$DBuser="****"; 
$DBpass="****"; 
$DBdatabase="asterisk"; 

// Connect to the Database and get all devices 
$DBlink=mysql_connect($DBhost,$DBuser,$DBpass) or die("Could not connect to host."); 
mysql_select_db($DBdatabase,$DBlink) or die("Could not find database."); 
$DBquery="SELECT user,description FROM devices ORDER BY descriptionASC"; 
$QUERYresult=mysql_query($DBquery,$DBlink) or die("Data not found."); 

//Setup XMLWriter 
$writer =newXMLWriter(); 
$writer->openURI('/tftpboot/gs_phonebook.xml'); 
$writer->setIndent(4); 

//Beginn output 
$writer->startDocument('1.0'); 
$writer->startElement('AddressBook'); 

//Add extensions/contacts from devices to the xml phonebook 
while($contact=mysql_fetch_array($QUERYresult)){ 
$writer->startElement('Contact'); 
$writer->writeElement('LastName',$contact['description']); 
$writer->writeElement('FirstName',"); 
$writer->startElement('Phone'); 
$writer->writeElement('phonenumber',$contact[user]); 
$writer->writeElement('accountindex','0'); 
$writer->endElement(); 
$writer->endElement(); 
} 

$writer->endElement(); 
$writer->endDocument();$writer->flush(); 
?> 
[/php] 

回答

2
$writer->writeElement('FirstName',"); 

這看起來像一個雙引號,而不是2個單引號。你可以從SO代碼塊上的混亂着色中知道。

應該是這樣的:

$writer->writeElement('FirstName',''); 
0

由於代碼高亮顯示,在這條線:

$writer->writeElement('FirstName',"); 

你有一個匹配雙你需要的 - 經濟通代替''"(或東西,而不是"

0

您還未關閉此行的雙引號

$writer->writeElement('FirstName',"); 

您可以改爲

<?php 
// File: gs_phonebook.php 
// version: 1.0 
// Description: Generating a XML Phonebook from FreePBX MySQL DB 
//!!Enable for Debug only!! 
error_reporting(E_ALL); 
ini_set("display_errors",ON); 

// Database settings 
$DBhost="comms.****"; 
$DBuser="****"; 
$DBpass="****"; 
$DBdatabase="asterisk"; 

// Connect to the Database and get all devices 
$DBlink=mysql_connect($DBhost,$DBuser,$DBpass) or die("Could not connect to host."); 
mysql_select_db($DBdatabase,$DBlink) or die("Could not find database."); 
$DBquery="SELECT user,description FROM devices ORDER BY descriptionASC"; 
$QUERYresult=mysql_query($DBquery,$DBlink) or die("Data not found."); 

//Setup XMLWriter 
$writer =newXMLWriter(); 
$writer->openURI('/tftpboot/gs_phonebook.xml'); 
$writer->setIndent(4); 

//Beginn output 
$writer->startDocument('1.0'); 
$writer->startElement('AddressBook'); 

//Add extensions/contacts from devices to the xml phonebook 
while($contact=mysql_fetch_array($QUERYresult)){ 
$writer->startElement('Contact'); 
$writer->writeElement('LastName',$contact['description']); 
$writer->writeElement('FirstName',""); 
$writer->startElement('Phone'); 
$writer->writeElement('phonenumber',$contact[user]); 
$writer->writeElement('accountindex','0'); 
$writer->endElement(); 
$writer->endElement(); 
} 

$writer->endElement(); 
$writer->endDocument();$writer->flush(); 
?> 
0

錯誤在這行

$writer->writeElement('FirstName',"); 

你可以給兩個雙引號作爲

$writer->writeElement('FirstName',""); 

或兩個單引號作爲

使用
$writer->writeElement('FirstName',''); 
0

您應該添加雙引號來代替單引號。 如果你想添加單引號,然後添加''。

$writer->writeElement("FirstName","");

雙引號不會產生任何錯誤。所以刪除單引號並加雙引號。

相關問題