对于我的应用程序,我正在创建一个成员可以订阅的组。使用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!");
}
答案 0 :(得分:4)
你有错误
$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);