我正在为 Joomla 1.7 开发一个简单的留言簿。
如果我尝试插入一条新消息,JDatabase 会插入一个空行,我不知道为什么。
这里的表结构
DROP TABLE IF EXISTS `#__agb_messages`;
CREATE TABLE `#__agb_messages` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL,
`message` TEXT NOT NULL,
PRIMARY KEY (`id`)
);
这是我用来插入新行并加载现有行的代码
public function getMessages() {
$db = JFactory::getDBO();
echo "<pre>";
print_r(JRequest::get('post'));
echo "</pre>";
$post = JRequest::get('post');
if (
!empty($post['name'])
&& !empty($post['message'])
)
{
$query = 'INSERT INTO #__agb_messages SET name="'.(string)$post['name'].'" AND message="'.(string)$post['message'].'"';
$db->setQuery($query);
echo $db->getQuery();
$db->query();
echo $db->getErrorMsg();
}
$query = 'SELECT * FROM #__agb_messages ORDER BY id DESC';
$db->setQuery($query);
$messages = $db->loadObjectList();
return $messages;
}
这就是我得到的
Array
(
[0] => stdClass Object
(
[id] => 1
[name] => 0
[message] =>
)
)