gpt4 book ai didi

php - INSERT mysql_num_rows 作为变量

转载 作者:行者123 更新时间:2023-11-29 13:55:49 25 4
gpt4 key购买 nike

我正在创建一个 CMS,其中当您添加新页面时,display_order 将根据已存在的行数自动获取下一个最大数字。这是我目前拥有的:

<?php

if(isset($_POST['updateContent'])){

require ("connection.php");
$sql = "SELECT * FROM pages";
$result = $conn->query($sql) or die(mysqli_error());

$content = $_POST['content'];
$title = $_POST['title'];
$id = $_POST['id'];

$order = mysqli_num_rows($result);

if (empty($id)){
/** ADD NEW SLIDE*/
$sql = "INSERT INTO pages (title, content, display_order, visible) VALUES ('".$title."', '".$content.", '".$order.", 0)";
}else{
/** UPDATE SLIDE*/
$sql = "UPDATE pages SET content = '".$content."', title = '".$title."' WHERE id = '".$id."'";
}

if ($result){
header("Location: admin.php");
}
}

?>

这段代码的作用是获取我在名为 edit.php 的页面中使用的 HTML 表单,并确定它是新页面还是只是正在更新的页面。我收到的错误是根本没有任何内容发布到数据库。如果我删除 $sql$result$order 行..脚本工作正常,但 display_order 变量不会设置为下一个最大的数字。

最佳答案

您的查询有误:

INSERT INTO pages (title, content, display_order, visible)
VALUES ('".$title."', '".$content.", '".$order.", 0)";
^-- here

应该是:

INSERT INTO pages (title, content, display_order, visible)
VALUES ('".$title."', '".$content."', ".$order.", 0)";
^-- quote goes here

此外,使用 mysqli 并不能神奇地保护您免受 SQL 插入。转义数据输入!

关于php - INSERT mysql_num_rows 作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15883939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com