【发布时间】:2017-05-26 14:04:59
【问题描述】:
有人可以向我解释一下我的代码有什么问题吗?当我尝试访问该页面时,它只会给我一个 HTTP 错误 500。这是代码。
<?php
$conn = new mysqli("localhost","user","pass","db");
if(!empty($_GET['Info']))
{
$Info = $_GET['Info'];
$sql = "SELECT * FROM `Judges` WHERE `id` EQUALS $Info";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
while($rows = $result->fetch_assoc())
{
$PictureFile = Null
if(empty($rows["PictureFile"]))
{
$PictureFile = "MissingPicture.png";
}
else
{
$PictureFile = $rows["PictureFile"];
}
echo '<div><img src="' . $PictureFile . '" style="width=100px;height=100px;"> <p>This Is Just A Test Message!</p></div>';
}
}
else
{
echo "<p style='text-align: center;'>Your Search Came Back With 0 Results :(</p>";
}
}
$conn->close();
?>
【问题讨论】:
-
您必须检查您的网络服务器日志。 500 错误可能是由多种原因引起的。
-
$sql = "SELECT * FROM
JudgesWHEREidEQUALS $Info";应该等于=? -
您的代码容易受到SQL injection 攻击。您应该使用mysqli 或PDO 准备好的语句和this post 中所述的绑定参数。
-
@AlexHowansky 非常感谢,我讨厌 sql 注入这种东西。
标签: php mysql http-error