最近我一直在尝试使新的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头的在线商店商品)可以正常工作。
编辑:有人向我指出,我在脚本中使用了错误的变量名,但这并不能解决问题,因此问题仍然存在
答案 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>