0

我正在开发一个 joomla 2.5 网站,我正在尝试在表单提交时在表单中输入的数据库中插入值。但我不知道他们为什么不插入数据库。请帮帮我。

我尝试了许多不同的方法,但我没有找到我要去的地方。

这是我的代码:

    if(isset($_POST["buttonSubmit"]))
    {
        $name = $_POST["name"];
        $location = $_POST["location"]; 
        $email = $_POST["email"];   
        echo $name;
        $db =& JFactory::getDBO();
        echo $query = "INSERT INTO '#__pxa_map' ('name', 'location','email') VALUES ($name, $location,$email)";
        $db->setQuery( $query );
        $db->query();  
    }

如何在 joomla 2.5 中将值插入数据库

4

1 回答 1

3

您应该添加错误处理并使用准备好的语句(最好不知道它在 Joomla 2.5 中是如何工作的),但是您的查询是错误的:

  1. 您不引用表名和字段名,如有必要,您可以用反引号将它们转义;
  2. 如果你不使用准备好的陈述,你会引用你的价值观;
  3. 您需要运行输入$db->quote()以防止 sql 注入。

所以它应该看起来像:

$db = JFactory::getDbo();
$name = $db->quote($_POST["name"]);
// etc.

$query = "INSERT INTO `#__pxa_map` (`name`, `location`,`email`) VALUES ('$name', '$location','$email')";
于 2013-06-17T13:01:50.343 回答