Я изучаю PHP и пытаюсь создать простую форму, которая отправляется в базу данных MySQL. Ошибок нет, но это не похоже на то, что у меня есть что-то в моей базе данных. Вы видите какие-то проблемы?PHP-форма, не отправляющая в базу данных SQL
HTML форма:
<form action="posts.php" method="post" />
<p>Input 1: <input type="text" name ="input1" /></p>
<input type="submit" value="Submit" />
</form>
PHP:
<?php
define('DB_NAME', 'kindnesstraintest');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
$link = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$value = $_POST['input1'];
$sql = "INSERT INTO demo (input1) VALUES ('$value')";
?>
PHPMyAdmin:
Кто-нибудь видит никаких проблем?
вам нужно сделать запрос - > 'mysqli_query ($ link, $ sql);', хотя вам также следует избегать вашего '$ value', используя либо' mysqli_real_escape_string() ', либо используя подготовленный оператор/параметр. – Sean
Выведите переменную post. Также избегайте ваших данных, если в input1 есть цитата, которую вы собираетесь провалить, или что еще хуже. http://en.wikipedia.org/wiki/SQL_injection Oh yea @Sean прав, не обратил внимания на это. – chris85
Он идет после вашего '$ sql = ...', как вам нужно в вашем запросе. это выглядит как docs - [mysqli_query (mysqli $ link, string $ query) '] (http://php.net/manual/en/mysqli.query.php) может оказаться полезным. – Sean