Ошибка HTTPS 500 при использовании операторов INSERT - PullRequest
0 голосов
/ 03 февраля 2019

Недавно я пытался запустить проект моего нового веб-приложения.У меня весь код работал на локальном сервере XAMPP с использованием типичного стека LAMP.Но теперь, когда я запускаю его, я заметил, что когда в моем 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 (как трюк с интернет-магазином) работает нормально.

РЕДАКТИРОВАТЬ: мне было указано, что я использовал неправильное имя переменной в сценарии, однако это не исправило это, поэтому вопрос все еще стоит

1 Ответ

0 голосов
/ 03 февраля 2019

Вы должны использовать инициированную переменную $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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...