我根本不明白这一点。
我的课程大致如下:
<?php
class pageData
{
private $Bookmark;
private $Program;
private $Agency;
//With appropriate setters/getters
}
?>
然后我尝试创建一个新对象,稍微传递一下,最终得到:
mysql_query("INSERT INTO Records (Bookmark, Program, Agency)
VALUES ('$data->getBookmark()', '$data->getProgram()', '$data->getAgency()')");
我最终得到注意:未定义的属性:pageData :: $ getBookmark in ...
注意:未定义的属性:pageData :: $ getProgram in ...
注意:未定义的属性:pageData :: $ getAgency in ...
使用PhpMyAdmin看起来Bookmark变为0而Program变为()且Agency为空。
如果我输入
print($data->getBookmark());
打印出书签。如果我输入
echo $data->getBookmark();
打印出来。当我尝试将其插入数据库时,为什么它不起作用?
答案 0 :(得分:1)
它被解释为数据成员
变量$data->getBookmark
后跟()
待办事项
mysql_query("INSERT INTO Records (Bookmark, Program, Agency)
VALUES ('".$data->getBookmark()."',...
答案 1 :(得分:1)
在字符串中使用除正常变量以外的任何内容时,应在值周围添加大括号:
mysql_query("INSERT INTO Records (Bookmark, Program, Agency)
VALUES ('{$data->getBookmark()}', '{$data->getProgram()}', '{$data->getAgency()}')");