【发布时间】: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