对于我的应用程序,我正在创建一个成员可以订阅的组。使用CreateGroup函数,我将数据写入数据库。使用sql"$insert
",我正在向tblgroups
写入数据。没关系
使用sql"$insertmember
",我试图将数据发送到tblgroup_member
,但group_id
和groupmember_id
不会填满。
group_id
必须是最后创建的组的id_number
。因此,我使用的是sql"$latest
"。之后我做fetch_assoc
来获取号码。
但是我得到的错误是$latestresult
是未定义的,而mysqli::query
是空的?我做错了什么?
PHP
$user_id = $user -> getUserByEmail($email);
if(isset($_POST["btnCreateGroup"])){
try {
$group = new Group();
$distance = (isset($_POST["distance"])) ? $_POST["distance"] : '';
$groupname = (isset($_POST["groupname"])) ? $_POST["groupname"] : '';
$duration = (isset($_POST["duration"])) ? $_POST["duration"] : '';
$group->GroupDistance = mysql_real_escape_string($distance);
$group->GroupName = mysql_real_escape_string($groupname);
$group->GroupDuration = mysql_real_escape_string($duration);
$group->CreatorId = mysql_real_escape_string($user_id);
$group->CreateGroup();
//$group->SaveCreatoridToGroup();
} catch(exception $e) {
$feedback = $e -> getMessage();
}
函数
public function CreateGroup()
{
$db = new Db();
$insert = "INSERT INTO tblgroups (
group_name,
group_distance,
group_duration,
group_creator_id
) VALUES (
'" . $db->conn->real_escape_string($this->m_sGroupName) . "',
'" . $db->conn->real_escape_string($this->m_iGroupDistance) . "',
'" . $db->conn->real_escape_string($this->m_iGroupDuration) . "',
'" . $db->conn->real_escape_string($this->m_sCreatorId) . "'
)";
$db -> conn -> query($insert);
$latest = "SELECT group_id FROM tblgroups ORDER BY group_id desc limit 1";
$latestresult = $db->conn->query($latestresult);
$fetch_latestresult = mysqli_fetch_assoc($latestresult);
var_dump($latestresult);
$insertmember = "INSERT INTO tblgroup_member (
group_id,
groupmember_id
) VALUES (
'" . $db->conn->real_escape_string($fetch_latestresult) . "',
'" . $db->conn->real_escape_string($this->m_sCreator_id) ."'
)";
$db -> conn -> query($insertmember);
throw new Exception("You created a group!");
}
您有一个错误
$latest = "SELECT group_id FROM tblgroups ORDER BY group_id desc limit 1";
$latestresult = $db->conn->query($latestresult);
应该是
$latest = "SELECT group_id FROM tblgroups ORDER BY group_id desc limit 1";
$latestresult = $db->conn->query($latest);