我在这里发布代码请帮助。
每次运行时都会创建一个新行,但不保存任何数据 它,除了id.Is里面有任何geters和setter。
尝试使用post方法在数据库中插入值。它在表中保存了一个新行,但是没有保存该值。我不知道发生了什么。
<?php
// No direct access
defined('_JEXEC') or die;
jimport('joomla.application.component.controller');
class NewbookController extends JControllerLegacy
{
public static function getHello($params)
{
$db =JFactory::getDBO();
echo $name = $_POST['name'];
echo $img =$_POST['image'];
$query = "INSERT INTO `book_newbook` (`id`,`name`,`image`)
VALUES ('','$name', '$img');";
$db->setQuery( $query );
$db->query();
//$result = $db->loadResult();
//return $result;
}
}
?>
<form action="index.php" name="adminForm" method="post" enctype="multipart/form-data">
<p>Name :
<input type="text" name="name"/>
</p>
<p>Image :
<input type="file" name="image"/>
</p>
<p>
<input type="submit" value="OK" name="ok"/>
</p>
</form>
答案 0 :(得分:2)
让你开始做一些事情:
$input = new JInput;
$name = $input->get('name', '', 'post');
$img = $input->get('image', '', 'post');
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$columns = array('id', 'name', 'image');
$values = array($db->quote($name), $db->quote($image));
$query->insert($db->quoteName('#__book_newbook'))
->columns($db->quoteName($columns))
->values(implode(',', $values));
$db->setQuery($query);
$db->query();
注意:请参阅数据库表前的前缀&gt;&gt; #__book_newbook
请记住这是让你入门的事情。您仍然需要阅读Developing an MVC Component for Joomla,以便所有内容都符合要求。
希望这有帮助
答案 1 :(得分:-1)
假设您的数据库表密钥为'id'
,则将其插入''
,即空白。如果有的话,这很少有用。替换为
"INSERT INTO `book_newbook` (`name`,`image`)
VALUES ('$name', '$img');";
和ID应自动更新。
关于使用Joomla更新数据库,请阅读他们的数据库查询标准,因为他们有自己的做事方式 - http://docs.joomla.org/Accessing_the_database_using_JDatabase