我遇到以下代码的问题:
<?php
class appointments
{
private $conn;
function __construct($conn)
{
$this->conn = $conn;
}
function usercompany($uid)
{
return $this->conn->getone("SELECT company FROM signup WHERE UID = '".$uid."'");
}
function hastemplate($uid)
{
return $this->conn->getone("SELECT COUNT(parentid) FROM appointments_templates WHERE parentid = '$uid'");
}
function gettemplate($uid)
{
if($this->hastemplate($uid)){
return $this->conn->getrow("SELECT * FROM appointments_templates WHERE parentid = '" . $uid . "'");
} else {
$appointment_template = 'This is a reminder to let you know that you have an appointment on {appointment} at '. $this->usercompany($uid);
$sql = "INSERT INTO appointments_templates SET parentid = '" . $uid . "', content = '" . $appointment_template . "'";
$this->conn->execute($sql);
return $this->gettemplate($uid);
}
}
}
?>
当我单独打电话给usercompany($uid)
时,我会得到一个正确的结果,即用户公司。但是,当我调用gettemplate($uid)
时,新模板会添加到数据库但没有usercompany($uid)
的结果。我做错了吗?
编辑:关于INSERT语法:http://milov.nl/2836
回顾一下:问题并不是它没有被添加到数据库,而是被插入为“这是一个提醒,让你知道你在XYZ的{约会}预约公司”它被添加为“这是一个提醒,让你知道你在{约会}的预约
答案 0 :(得分:3)
insert
语句不起作用。而不是:
insert into table set column1 = value1, column2 = value2
他们的工作方式如下:
insert into table (column1, column2) values (value1, value2)
此外,我没有看到任何逃避现象,所以我希望没有人在其名称中有一个撇号的公司。
答案 1 :(得分:0)
插入查询似乎有错误的语法。您可以在这里引用mysql insert query的语法http://www.w3schools.com/php/php_mysql_insert.asp
请尝试使用单引号
$ appointment_template =“这是一个提醒,告诉您在{约会}处预约”。 $这 - &GT; usercompany($ UID) “”;