【问题标题】:Error in inputting data to database using PHP [duplicate]使用PHP将数据输入数据库时​​出错[重复]
【发布时间】:2020-03-06 16:51:19
【问题描述】:

我对 PHP 很陌生,如果这是一个简单的问题,请原谅我。我有一个表格和一个页面。该表单根据需要工作(HTML),但我似乎无法让 PHP 部分正常工作。我已经找了一段时间了,但一直没能找到我的错误在我的代码中的位置。代码如下:

<?php
$conn = mysqli_connect("sql300.epizy.com", "epiz_25296769", "****", "epiz_25296769_matches");
if ($conn-> connect_error) {
    die("Connection Failed".$conn-> connect_error);
}
$Date = $_POST['Date']
$Opponent = $_POST['Opponent'];
$Result = $_POST['Result'];
$XtC_Score = $_POST['XtC_Score'];
$Opponent_Score = $_POST['Opponent_Score'];
$Tag = $_POST['Tag'];
$Stage = $_POST['Stage'];
$Notes = $_POST['Notes'];
$sql = "INSERT INTO list (Date, Opponent, Result, XtC_Score, Opponent_Score, Tag, Stage, Notes)
VALUES ('$Date','$Opponent','$Result','$XtC_Score','$Opponent_Score','$Tag','$Stage','$Notes')";
if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
}
?>

我应该提到连接不是问题,因为当我从连接代码中删除所有内容时,它似乎工作正常。非常感谢任何帮助,对于这个简单的问题,我们深表歉意。

编辑:表格如下:

<form action="insert.php" method="post">
Date<input type="date" name="Date" /><br><br>
Opponent<input type="text" name="Opponent" /><br><br>
Result<input type="text" name="Result" /><br><br>
XtC Score<input type="text" name="XtC_Score" /><br><br>
Opponent Score<input type="text" name="Opponent_Score" /><br><br>
Tag<input type="text" name="Tag" /><br><br>
Stage<input type="text" name="Stage" /><br><br>
Notes<input type="text" name="Notes" /><br><br>
<input type="submit" /><br><br>

我得到的错误是 HTTP 错误 500,无法处理请求。

【问题讨论】:

  • 如果您是 PHP 新手,请使用全新的 PHP!抛弃 mysqli_rubbish(),使用 PDO!到这里! phpdelusions.net/pdo 当你这样做时,我会看看你的问题
  • 请粘贴任何error_log 输出
  • 我可能是错的,但我认为您不需要在值部分周围加上单引号 '。 PHP 值应自动插入为字符串。
  • @delboy1978uk 恐怕不知道怎么查看错误日志
  • 另外,我知道这不是在回答您的问题,但我觉得不提供建议是一种损害。您上面编写的代码对 SQL 注入 攻击是开放的。请查看this article,它详细描述了这种攻击以及如何使用 Prepared Statements 来缓解它,它是mysqli_* 扩展的内置功能。可选地,@delboy1978uk 上面提到的 PDO 扩展也支持 Prepared Statements 功能...

标签: php mysql database forms input


【解决方案1】:

您遇到的 500 错误可能是由于 PHP 无法解析您的脚本。当您在语法中出错时,通常会发生这种情况。在您的脚本中似乎有两个语法错误:

以下行末尾缺少分号:

$Date = $_POST['Date']

应该是:

$Date = $_POST['Date'];

你的文件末尾有一个额外的花括号:

$conn->close();
}
?>

这应该被删除:

$conn->close();
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-03
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多