似乎无法弄清楚这个php错误

时间:2014-03-25 00:41:43

标签: php

我一直试图找出这个PHP错误差不多一天。叹。我对编码很陌生,但我想我已经想到了这一点。当我运行此代码时,出现错误

  

解析错误:语法错误,意外'正文' (T_STRING),期待')'在/Users/baronjon/Sites/squaredb/functions.php上第20行

这是代码:

<?php

function add_post($userid, $body) {
    $sql = "insert into posts (user_id, body, stamp)
                    values ($userid, '". mysql_real_escape_string($body)."', now())";

                    $result = mysql_query($sql);

}
function show_posts($userid) {
    $posts = array();

    $sql = "select body, stamp from posts
        where user_id ='$userid' order by stamp desc";
    $result = mysql_query($sql);

    while($data = mysql_fetch_object($result)) {
    $posts[] = array(       'stamp' => $data->stamp,
                                                'userid => $userid          
                                                'body' => $data->body   //**This is line 20.** 
                            );
    }
    return $posts;

}

?>

刚接触php(以及一般的编码)我意识到这可能非常简单。但是,我没有看到它告诉我要查找的括号。

我查看了php手册,以确保我的语法正确,看起来非常简单。

任何人都可以指出我正确的方向。

2 个答案:

答案 0 :(得分:4)

$posts数组中,您缺少一个尾随的'引号和一个逗号。

$posts数组应如下所示:

$posts[] = array(      
  'stamp' => $data->stamp,
  'userid' => $userid,       
  'body' => $data->body  //**This is line 20.** 

);

很多时候在PHP中,当它表示第20行时,你应该看第19行。

作为上述评论者,我建议使用带有语法高亮的代码编辑器,如vim,emacs,Sublime Text,Notepad ++或类似的东西。每天保存我的屁股:)。

答案 1 :(得分:1)

你在'userid => $userid附近的第19行和逗号上错过了结尾引用。它应该是'userid' => $userid,