<html>
<body>
<form method="post">
Name: <input type="text" name="Name"><br>
Phone Number: <input type="text" name="Number"><br>
<input type="submit">
</form>
<?php
session_start();
$name = $_POST["Name"];
$number = $_POST["Number"];
$sql = "INSERT INTO contacts (Name, Number)
VALUES (' . $name . ', ' . $number . ')";
if ($_SESSION["connect"]->query($sql) === true) {
echo "Success";
}
else {
echo "Fail: " . $_SESSION["connect"]->error;
}
?>
</body>
`enter code here`</html>
Так что это мой код, и это показывает, что 2 ошибки мешают мне добавлять данные в базу данных mysql. Обе ошибки говорят о том, что программа не могла получить mysqli как в $ _SESSION ["connect"] в операторах if.PHP не смог получить mysqli
Может ли кто-нибудь проверить мой код и изменить его для меня? Было бы очень благодарно.
[Держу пари, вы получаете неопределенный индекс уведомление, но вы не видите их, потому что это происходит; * в фоновом режиме *.] (http://php.net/manual/en/function.error-reporting.php) - [Не говоря уже об этом ...] (http://php.net/manual/ ен/mysqli.error.php). - сеансы? этот код ... Я не знаю, как это назвать. –
Превосходная уязвимость [sql injection attack] (http://bobby-tables.com). Наслаждайтесь наличием вашего сервера pwn3d. –
** ПРЕДУПРЕЖДЕНИЕ **: при использовании 'mysqli' вы должны использовать параметризованные запросы и [' bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php), чтобы добавить пользователя данные по вашему запросу. ** НЕ используйте ** интерполирование строк, чтобы выполнить это, потому что вы создадите серьезные [SQL-инъекции ошибок] (http://bobby-tables.com/). ** НИКОГДА ** не вводите данные '$ _POST' непосредственно в запрос. – tadman