Mar*_*lst 1 php mysql sql mysqli function
对于我的应用程序,我正在创建一个成员可以订阅的组。使用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();
}
Run Code Online (Sandbox Code Playgroud)
功能
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!");
}
Run Code Online (Sandbox Code Playgroud)
你有错
$latest = "SELECT group_id FROM tblgroups ORDER BY group_id desc limit 1";
$latestresult = $db->conn->query($latestresult);
Run Code Online (Sandbox Code Playgroud)
应该
$latest = "SELECT group_id FROM tblgroups ORDER BY group_id desc limit 1";
$latestresult = $db->conn->query($latest);
Run Code Online (Sandbox Code Playgroud)