0

我正在使用 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();

位置、日期和 merono 都设置在我在此函数之前创建的字段中,它应该像我之前为登录页面所做的那样工作,所以我知道第一部分应该获取变量。并且因为我之前访问过数据库,所以我知道它正在连接,所以它必须与 MySQL 语句有关。

谢谢,
史蒂夫。

4

2 回答 2

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')
于 2012-11-09T11:41:51.193 回答
1

我终于设法弄清楚了(即使这个问题只活跃了几分钟 XD)

SQL 语句一开始是错误的(感谢 John Woo 的帮助(y))现在语句变为:

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

这个成功的语句允许将放置在 $location $date 和 $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')");

谢谢您的帮助,

史蒂夫。

于 2012-11-09T12:27:29.130 回答