使用INSERT语句时出现HTTPS 500错误

时间:2019-02-03 14:25:14

标签: php mysql mariadb

最近我一直在尝试使新的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头的在线商店商品)可以正常工作。

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

1 个答案:

答案 0 :(得分:0)

您必须在下面使用启动变量$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>