Ошибка HTTPS 500 при использовании операторов INSERT

Недавно я пытался реализовать свой новый проект веб-приложения. У меня весь код работал на локальном сервере XAMPP с использованием типичного стека LAMP. Но теперь, когда я делаю его живым, я заметил, что когда у меня есть оператор INSERT в моем PHP-коде, сервер всегда будет возвращать ошибку 500. Но когда у меня есть статическая страница или просто инструкция SELECT, все работает нормально.

Я уже предоставил все привилегии и даже вошел в систему как пользователь root в своем заявлении о подключении php/mysql, но это не помогло.

<?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 (например, с трюком в интернет-магазине) работает нормально.

Обновлено: мне было указано, что я использовал неправильное имя переменной в сценарии, однако это не исправило его, поэтому вопрос остается в силе.

Почему вы сохраняете соединение в $mysqli, а затем используете $conn - Откуда это взялось?

Alon Eitan 03.02.2019 15:27

Вы пытались удалить скобки из эха ($_SERVER['REMOTE_ADDR'])

Praneeth Nidarshan 03.02.2019 15:27
if (isset($_POST['ip'])) { $insert = "INSERT ...
Alex 03.02.2019 15:28

@AlonEitan упс, это была проверка работоспособности, которую я скопировал и вставил откуда-то еще, но даже если я ее исправлю, это не решит проблему

SamBkamp 03.02.2019 16:15
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
36
1

Ответы 1

Вы должны использовать инициированную переменную $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>

да, я только что заметил это, однако, если я исправляю имя переменной, я все равно получаю ошибку 500, и я не получаю сообщения об ошибке. Спасибо хоть

SamBkamp 03.02.2019 16:14

И не интерполируйте, связывайте.

Rick James 03.02.2019 17:52

Другие вопросы по теме