我最近一直在尝试使新的Web应用程序项目生效。我已经使用典型的LAMP堆栈在本地XAMPP服务器上工作了所有代码。但是现在,我将其激活,我注意到,当我的PHP代码中包含INSERT语句时,服务器将始终返回500错误。但是,当我有静态页面或只有SELECT语句时,它可以正常工作。

我已经赋予了所有特权,甚至以root用户身份登录php / mysql connect语句,但这没有帮助。

<?php
$conn= new mysqli ('localhost','username','password','ips');
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$insert = "INSERT INTO ipaddr (ip) VALUES ($_POST['ip'])"; ?>


<form action="index.php" method="POST" style="visibility: visible;">
<input type="password" name="ip" value=<?php echo($_SERVER['REMOTE_ADDR'])?>/>


                                                                                                                                 

这会导致500错误,但是只有SELECT语句的类似脚本(例如a头的在线商店商品)可以正常工作。

编辑:有人向我指出,我在脚本中使用了错误的变量名,但这并不能解决问题,因此问题仍然存在

最佳答案

您必须在下面使用启动变量$mysqli而不是$conn

$mysqli = new mysqli ('localhost','username','password','ips');
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}


我已将您的代码格式化如下

<?php
$mysqli = new mysqli ('localhost','username','password','ips');
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}

if(isset($_POST['ip'])) {
 $ip_address = $_POST['ip'];
 $insert = "INSERT INTO ipaddr (ip) VALUES ('{$ip_address}')";
}

?>


<form action="index.php" method="POST" style="visibility: visible;">
<input type="password" name="ip" value="<?= $_SERVER['REMOTE_ADDR'] ?>"/>
</form>

关于php - 使用INSERT语句时出现HTTPS 500错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54503813/

10-10 00:57