Php 你能告诉我我博客的这段代码有什么问题吗?
如果删除此代码,我的页面将加载。但是如果我加上这个,我会从我的网络矩阵中得到一个HTTP错误500Php 你能告诉我我博客的这段代码有什么问题吗?,php,mysql,pdo,Php,Mysql,Pdo,如果删除此代码,我的页面将加载。但是如果我加上这个,我会从我的网络矩阵中得到一个HTTP错误500 <?php try { if(isset(['submit'])) { include('config.php'); $subject = $_POST['subject']; $content = $_POST['editor1']; $date = $_POST['date']; $tags = $_POST['tags'];
<?php
try {
if(isset(['submit'])) {
include('config.php');
$subject = $_POST['subject'];
$content = $_POST['editor1'];
$date = $_POST['date'];
$tags = $_POST['tags'];
$author = $_POST['author'];
$thumbnail = $_POST['thumbnail'];
$sql = "INSERT INTO articles (Subject, Content, Date, Author, Tags, Thumbnail) VALUES ('$subject','$content','$date','$author','$tags', '$thumbnail')";
$dbh->query($sql);
}
} catch(PDOException $e) {
echo $e->getMessage();
}
?>
行中的
if (isset(['submit']))
缺少一个变量。您可能需要使用以下行:
if(isset($_POST['submit']))
顺便说一下,您的SQL代码是为盲SQL注入而打开的。您应该解析参数,或者更好的是,使用准备好的语句
$stmt = $dbh->prepare("INSERT INTO articles (Subject, Content, Date, Author, Tags, Thumbnail) VALUES (':subject',':content',':date',':author',':tags', ':thumbnail')");
$stmt->bindParam(':subject', $subject);
$stmt->bindParam(':content', $content);
// ...
$stmt->execute();
排队
if (isset(['submit']))
缺少一个变量。您可能需要使用以下行:
if(isset($_POST['submit']))
顺便说一下,您的SQL代码是为盲SQL注入而打开的。您应该解析参数,或者更好的是,使用准备好的语句
$stmt = $dbh->prepare("INSERT INTO articles (Subject, Content, Date, Author, Tags, Thumbnail) VALUES (':subject',':content',':date',':author',':tags', ':thumbnail')");
$stmt->bindParam(':subject', $subject);
$stmt->bindParam(':content', $content);
// ...
$stmt->execute();
这不是一个声明:
if (isset(['submit']))
应该是:
if (isset($_POST['submit']))
很有可能
无论如何,您应该将参数绑定到查询,而不是硬编码到查询中。这不是一条语句:
if (isset(['submit']))
应该是:
if (isset($_POST['submit']))
很有可能
无论如何,您应该将参数绑定到查询中,而不是硬编码到查询中。阅读如何正确使用。目前,您很容易受到SQL注入的攻击。非常感谢您的回复。我现在就去看看。仔细阅读如何正确使用。目前,您很容易受到SQL注入的攻击。非常感谢您的回复。我现在就去看看。非常感谢你,老兄。我真不敢相信那个愚蠢的错误花了我这么多时间-_-@Sunny-找到您的Apache日志所在的位置,他们会给您一个发生错误的行号。@Sunny欢迎您。如果你以任何方式帮助你,请考虑接受这个答案。多谢。我真不敢相信那个愚蠢的错误花了我这么多时间-_-@Sunny-找到您的Apache日志所在的位置,他们会给您一个发生错误的行号。@Sunny欢迎您。如果能对你有所帮助,可以考虑接受这个答案。我想问一下准备好的语句是否只在把数据插入到数据库中时使用?不,你也可以用它们来进行选择。我建议您将它们用于每一种带有来自web的变量的查询。我想问的是,准备好的语句是否仅在将数据插入数据库时使用?不,您也可以将它们用于选择。我建议您将它们用于每一种带有来自web的变量的查询。