Код php для добавления значений таблице в mysql. Не работает добавление новых значений, запрос идет, а в результате ничего не добавляется. Пробовал все, на сайтах тоже смотрел, никаких ошибок не находил... Вроде не работает строка с INSERT, который я перепроверял 100 раз. Таблица не закрыта, удаление работает, есть полный доступ к таблице по login.php и connect.
<?php // sqltest.php
require_once 'login.php';
function get_post($server, $var)
{
return mysqli_real_escape_string($server, $_POST[$var]);
}
if (isset($_POST['hexinak']) &&
isset($_POST['vernagir']) &&
isset($_POST['text']) &&
isset($_POST['year']) &&
isset($_POST['isbn']))
{
$author = get_post($db_server, 'hexinak');
$title = get_post($db_server, 'vernagir');
$category = get_post($db_server, 'text');
$year = get_post($db_server, 'year');
$isbn = get_post($db_server, 'isbn');
$query = "INSERT INTO `stories` SET `hexinak`='$author', `vernagir`='$title', `text`='$category', `year`='$year', `isbn`='$isbn'";
print_r($query);
if ( !$db_server->query($query) ) { printf("Error: %s\n", $mysqli->error); } else echo 'Insert success';
}
if(isset($_POST["DELETE"]) || isset($_POST["isbn"]))
{
$isbn=get_post($db_server, 'isbn');
$query="DELETE FROM stories WHERE isbn='$isbn'";
mysqli_query($db_server, $query);
}
echo <<<_END
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<form action="sqltest.php" method="post"> <pre>
hexinak <input type="text" name="hexinak" />
vernagir <input type="text" name="vernagir" />
text <input type="text" name="text" />
year <input type="text" name="year" />
isbn <input type="text" name="isbn" />
<input type="submit" name="submit" value="ADD book" /> </pre>
</form>
_END;
$query="SELECT * FROM stories";
$result=mysqli_query($db_server, $query);
while($row = mysqli_fetch_row($result))
{
echo <<<_END
<pre>
Hexinak: $row[0]
vernagir: $row[1]
text: $row[2]
year: $row[3]
isbn: $row[6]
</pre>
<form action="sqltest.php" method="post">
<input type="hidden" name="isbn" value="$row[6]"/>
<input type="submit" name="delete" value="DELETE book"/>
</form>
_END;
}
?>
</body>
</html>
Рекомендую попробовать использовать модуль mysql
вместо mysqli
. Это временное решение для того, чтобы проверить работает ли код. Если всё ок, тогда уже более подробнее нужно будет разобраться с модулем mysqli
.
У вас использован неправильный синтаксис в запросе, внимательно проверяйте ошибки, которые возвращает база данных.
Что говорит MySQL.RU по поводу оператора INSERT:
INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES (expression,...),(...),...
или INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...
или INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name
SET col_name=expression, col_name=expression, ...
После названия таблицы, куда вы хотите внести данные необходимо сначала указать список всех столбцов, значения которых вы передаете, а потом после ключевого слова VALUES уже перечисляете сами значения.
То есть в вашем случае запрос должен выглядеть примерно так:
INSERT INTO `stories`
(`hexinak`, `vernagir`, `text`, `year`, `isbn` )
VALUES
('$author', '$title', '$category', '$year', '$isbn')
;
Виртуальный выделенный сервер (VDS) становится отличным выбором
У меня есть событие, которое по клику меняет стили для блоковНо когда добавил php , то при переходах по ссылкам страница перезагружается и все...