<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><link href="css.css" rel="stylesheet" type="text/css" />
<title>无标题文档</title>
</head><body>
<div id="total">
 <div id="top">
   <div class="top_title">
  <div class="login_title">
   <ul>
     <li><a href="login.php">登录</li>
 <li><a href="regiser.php">注册</li>
 <li>链接</li>
   </ul>
   </div>
   <div class="top_beijing">
   </div>
    </div> </div>
 <div id="middle">
 <?php
    $conn=mysql_connect("localhost","root","5200");
if(!$conn){
die ("连接失败".mysql_error());
}
mysql_select_db("blog",$conn) or die(mysql_error());mysql_query("set names utf8");
$sql="select * from article";
$res=mysql_query($sql);
while($row=mysql_fetch_assoc($res)){
echo "<div class="article">";   41
echo "<div class="article_title"><p>$row['article_title']</p></div>";
echo   "<div class="article_body"><p>$row['article_body']</p></div>";
echo  "</div>";
}      
 
 ?>
 </div>
</div>
</body>
</html>显示错误
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in D:\wamp1\www\blog\index.php on line 41
明明我写的是;却还是这个错误。。求解释

解决方案 »

  1.   

    echo "<div class="article">"; 41
    这错误没看出来? echo "<div class="到这儿就算字符串完了,后面本应该就是分号,但这儿却是字符串article。
    还不明白?正确的做法是对字符串中的双引号用\"转义
    以下写法都算正确:
    // 转义双引号
    echo "<div class=\"article\">";
    // 改用单引号,防止与字符串内的双引号冲突
    echo '<div class="article">';
    // 方便一点的,改用
    echo <<<html
        <div class="article">
    html;手册说明: http://www.php.net/manual/zh/language.types.string.php
      

  2.   

    最后一段改成:echo '<div class="article">';
    echo '<div class="article_title"><p>'.$row['article_title'].'</p></div>';
    echo '<div class="article_body"><p>'.$row['article_body'].'</p></div>';
    echo '</div>';
      

  3.   

    echo "<div class=\"article\">";
    echo "<div class=\"article_title\"><p>$row['article_title']</p></div>";
    echo   "<div class=\"article_body\"><p>$row['article_body']</p></div>";
    echo  "</div>";为什么我这样转义后显示 错误
    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\wamp1\www\blog\index.php on line 42
      

  4.   

    echo "<div class=\"article_title\"><p>{$row['article_title']}</p></div>";
    echo "<div class=\"article_body\"><p>{$row['article_body']}</p></div>";
    字符串中包含变量最好用 {}括起来,尤其是数组
      

  5.   

    echo '<div class=\"article\">';
    echo '<div class=\"article_title\"><p>.'$row['article_title']'.</p></div>';
    echo   '<div class=\"article_body\"><p>.'$row['article_body']'.</p></div>';
    echo  '</div>';
    这样显示还是错啊??
      

  6.   

    本帖最后由 xuzuning 于 2012-04-13 21:58:11 编辑