【发布时间】:2019-11-21 13:32:16
【问题描述】:
我做了 3 次查询(SELECT、INSERT、UPDATE)它可以工作,但在当前状态下看起来很丑而且不安全。
有什么方法可以让这些 SELECT、INSERT、UPDATE 查询比使用prepared statement 更具可读性和安全性?
$email = $_SESSION['email'];
$query = "SELECT username FROM users WHERE email='$email'";
$result = mysqli_query($connect, $query);
$row = mysqli_fetch_assoc($result);
$username = $row['username'];
if(!empty($_POST["comment"])){
$id = $_GET['id'];
$sql = "INSERT INTO user_comments (parent_id, comment, username, custom_id) VALUES ('".$_POST["commentID"]."', '".$_POST["comment"]."', '$username', '$id')";
mysqli_query($connect, $sql) or die("ERROR: ". mysqli_error($connect));
/// I need this update query to make every inserted comment's ID +1 or can I do this more simple?
$sql1 = "UPDATE user_comments SET id = id +1 WHERE custom_id = '$id'";
mysqli_query($connect, $sql1) or die("ERROR: ". mysqli_error($connect));
【问题讨论】:
-
您查看过prepared statements 和bind_param 的文档吗?
-
是的,我做到了。我可以使用准备好的语句执行简单的 SELECT 或 UPDATE 或 INSERT 查询,但我不知道如何以简单的方式执行这些多个查询。还是我必须像现在一样单独执行每个查询?
-
不,你必须分别做每一个。
标签: php mysqli prepared-statement