使用p4a,如何在MySQL数据库中插入一行?

时间:2012-11-09 11:40:04

标签: php mysql zend-framework

我正在使用p4a应用程序框架,我需要通过我之前创建的字段将行插入到我的数据库中,当用户按下提交时,数据库应该更新,因此其他新行应该能够进行等等。

我很难找到如何将数据输入到数据库中,我可以通过将值放入sql语句来轻松完成,但这对我来说完全不同,

代码是:

public function submit()

{

    $location = $this->location->getNewValue();           
        $date = $this->date->getNewValue();
        $merono = $this->merono->getNewValue();

    $sql = $db->query("INSERT INTO 'meetingrooms'(location, date, merono)
        VALUES
        ($location, $date, $merono)");


    p4a_db::singleton()->newRow($sql, array($location));

$this->load();

location,date和merono都是在我在此函数之前创建的字段中设置的,它应该可以正常工作,因为我以前对登录页面做了​​相同的操作,所以我知道第一部分应该是获取变量。因为我以前访问过db我知道它正在连接,所以它必须与MySQL语句有关。

谢谢,
史蒂夫。

2 个答案:

答案 0 :(得分:2)

在你的查询中,我发现你用单引号括起表名,如果要转义tableName或columnName,请改用backtick

INSERT INTO `meetingrooms`(location, date, merono)
       VALUES ($location, $date, $merono)

但由于你的tableName不是保留字或包含任何无效字符,你可以摆脱反引号。

如果要在表上插入非数字值,请用单引号将其包装,

INSERT INTO meetingrooms (location, date, merono)
       VALUES ('$location', '$date', '$merono')

答案 1 :(得分:1)

我终于弄明白了(尽管这个问题只在几分钟XD上有效)

SQL语句的开头是错误的(感谢John Woo的帮助(y))现在声明如下:

query("INSERT INTO meetingrooms(location, date, merono)
        VALUES
        ('$location', '$date', '$merono')");

这个成功的语句允许将$ location和$ merono中的变量插入到表中,加上对语句开头的额外添加

如下:

p4a_db::singleton()->

这会调用P4A数据库扩展,在此弹出类中我无法访问,

所以现在全功能: -

public function submit()

{

    $location = $this->AreaName->getNewValue();
    $date = $this->date->getNewValue();
    $merono = $this->merono->getNewValue();

    p4a_db::singleton()->query("INSERT INTO meetingrooms(location, date, merono)
        VALUES
        ('$location', '$date', '$merono')");

感谢您的帮助,

史蒂夫。