gpt4 book ai didi

php - 准备($ sql)函数不适用于一个脚本

转载 作者:行者123 更新时间:2023-11-29 16:23:34 28 4
gpt4 key购买 nike

我正在开展一个学校项目,涉及一个具有数据库集成的网站。目前正致力于通过它向网站添加新内容(文本、标题、图像)。我已经可以通过网站向数据库添加新用户,但由于某种原因,相同的代码和逻辑不适用于内容。

我注意到使用 echo 打印 $stmt 不会打印任何内容。

<?php

include "../conn.php";

$sql = "INSERT INTO `contenido` (`id_contenido`, `tipo_contenido`, `id_seccion`, `orden_contenido`, `largo_contenido`, 'corto_contenido', 'extra_contenido') VALUES (NULL, '".$_POST["tipo"]."', '".$_GET['id']."','".$_POST["orden"]."','".$_POST["largo"]."','".$_POST["corto"]."','".$_POST["extra"]."')";

$stmt = $conn->prepare($sql);
if ($stmt = $conn->prepare($sql))
{
//echo "It worked";

$stmt->execute();
$last_id = $conn->insert_id;

header("Location: editarContenidos.php?id=".$_GET['id']);
}

?>

预期结果:内容信息上传到数据库,用户重定向到编辑内容页面 (editarContenidos.php)

实际结果:白屏,没有错误。由于 if 条件为 false,因此您永远不会被重定向,内容也不会上传到数据库。

注意:插入用户 .php 使用相同的逻辑和语法,我对 php 的经验不足,无法理解我做错了什么。

最佳答案

我假设 id_contenido 是一个 auto_increment 字段,我不确定反引号在各种语言中如何工作。我建议添加一些错误处理 PDO::errorInfo 并将 SQL 代码更改为:

$sql = "INSERT INTO contenido (tipo_contenido, id_seccion, orden_contenido, largo_contenido, corto_contenido, extra_contenido) VALUES ('".$_POST["tipo"]."', '".$_GET['id ']."','".$_POST["orden"]."','".$_POST["largo"]."','".$_POST["corto"]."','".$_POST["额外"]."')";

SQL 代码中有一个 $_GET['id'],我无法判断这是否是故意的。

我建议使用参数并使用 print_r($_POST); 进行一些调试。

尝试以下代码:

<?php

include "../conn.php";

$sql = "INSERT INTO contenido (id_contenido, tipo_contenido, id_seccion, orden_contenido, largo_contenido, corto_contenido, extra_contenido) VALUES (?,?,?,?,?,?)";

$stmt = $conn->prepare($sql);
if ($stmt))
{
//echo "It worked";

$stmt->execute(array($_POST["tipo"], $_GET['id'],$_POST["orden"],$_POST["largo"],$_POST["corto"],$_POST["extra"]));
$last_id = $conn->lastInsertId();

header("Location: editarContenidos.php?id=".$_GET['id']);
}

?>

关于php - 准备($ sql)函数不适用于一个脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54394656/

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