我一直试图找出这个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手册,以确保我的语法正确,看起来非常简单。
任何人都可以指出我正确的方向。
答案 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,
。