我正在使用p4a应用程序框架,我需要通过我之前创建的字段将行插入到我的数据库中,当用户按下submit时,数据库应该更新,因此其他新行应该能够创建等。
我正在努力寻找如何将数据输入到数据库中,我可以通过将值输入到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语句有关。
谢谢,
史蒂夫。
发布于 2012-11-09 20:27:29
我终于想出了答案(尽管这个问题只活跃了几分钟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-09 19:41:51
在您的查询中,我发现您用单引号将表名引起来,如果您想转义tableName或columnName,请改用backtick,
INSERT INTO `meetingrooms`(location, date, merono)
VALUES ($location, $date, $merono)但由于您的tableName不是保留字或包含任何无效字符,因此您可以去掉反引号。
如果要在表中插入非数字的值,请用单引号将其括起来,
INSERT INTO meetingrooms (location, date, merono)
VALUES ('$location', '$date', '$merono')https://stackoverflow.com/questions/13307432
复制相似问题