【发布时间】:2023-03-27 07:32:01
【问题描述】:
对于我的应用程序,我正在创建一个成员可以订阅的组。使用函数 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!");
}
【问题讨论】:
-
强制注释告诉你使用 PDO 而不是 mysqli。 php.net/manual/en/book.pdo.php 或者至少使用准备好的语句而不是转义字符串。 :)
标签: php mysql sql function mysqli