2014-03-04 117 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","");

双引号不会产生任何错误。所以删除单引号并加双引号。

相关问题