必须有一种更简单的方法。。。我一直在第二行买这个。
分析错误:语法错误,意外的";"
while($row = mysql_fetch_array($result)){
echo ("'$MAP_OBJECT->addMarkerByCoords";
"('"";
$row['longitude'];
",";
$row['latitude'];
",'"";
$row['routername'];
"-";
$row['desc'];
"'", '"";
$row['routername'];
"-";
$row['desc'];
"<br><a href='"./div/";
$row['routername'];
"'">Site Info</a>'");
echo "<br />";
}
您必须与.
组合,而不是与;
组合
echo ("'$MAP_OBJECT->addMarkerByCoords" .
"('"" .
$row['longitude'] .
....
查看手册:http://php.net/manual/en/language.operators.string.php
如果您试图连接以下字符串,则大多数;
应该是.
:
while($row = mysql_fetch_array($result)){
echo ("'$MAP_OBJECT->addMarkerByCoords" .
"('"" .
$row['longitude'] .
"," .
$row['latitude'] .
",'"" .
$row['routername'] .
"-" .
$row['desc'] .
"'", '"" .
$row['routername'] .
"-" .
$row['desc'] .
"<br><a href='"./Ldiv/" .
$row['routername'].
"'">Site Info</a>'"); // Here's the actual end of the statement
echo "<br />";
}
有了HEREDOC:,这会整洁得多
echo <<<ROW
$MAP_OBJECT->addMarkerByCoords(
{$row['longitude']},
{$row['latitude']},
"{$row['routername']}-{$row['desc']}",
"$row['routername']}-{$row['desc']}"<br>
<a href="./Ldiv/{$row['routername']}">Site Info</a>
)
ROW;
尽管如此,由于上一个报价没有结束,<br>
之前似乎缺少了一些内容。
您试图执行的语法是错误的。
PHP中的;
本质上是一个结束语句。您告诉PHP停止执行第一行echo ("'$MAP_OBJECT->addMarkerByCoords" ;
上的echo,这不是您想要的。
相反,用.
的替换所有;
,除了最后一个回显语句
while($row = mysql_fetch_array($result)){
echo "'$MAP_OBJECT->addMarkerByCoords" .
"('"" .
$row['longitude'] .
"," .
$row['latitude'] .
",'"" .
$row['routername'] .
"-" .
$row['desc'] .
"'", '"" .
$row['routername'] .
"-" .
$row['desc'] .
"<br><a href='"./Ldiv/" .
$row['routername']; .
"'">Site Info</a>'";
echo "<br />";
}