Я слежу за последней частью следующего видеоурока "Как создать веб-сайт базы данных с PHP и mySQL 07 - добавить в форму ввода" :
https://www.youtube.com/watch?v=MGIG00d1Xzc&list=PLhPyEFL5u-i0zEaDF0IPLYvm8zOKnz70r&index=7
В конце приведен мой код для вставки части в базу данных для скрипта new_jokes.php (все, что было до этого момента серии, я до сих пор работал нормально)
В основномЯ получаю, казалось бы, классическую «INSERT INTO» не работающей, хотя весь мой синтаксис выглядит правильно.Я что-то упускаю здесь очевидное?Я не получаю ошибок, только строка не добавляется.
<?php
include "db_connect.php";
$new_joke_question = $_GET["newjoke"];
$new_joke_answer = $_GET["newanswer"];
// Search the database for the word chicken
echo "<h2>Trying to add a new joke and answer: $new_joke_question
$new_joke_answer </h2>";
$sql = "INSERT INTO Jokes_table (JokeID, Joke_question, Joke_answer) VALUES
(NULL, '$new_joke_question', '$new_joke_answer' )";
$result = $mysqli->query($sql);
include "search_all_jokes.php";
?>
<a href="index.php">Return to the main page</a>
Вот код db_connect.php, как было запрошено:
<?php
// four variables to connect the database
$host = "localhost";
$username = "root";
$user_pass = "usbw";
$database = "test";
// create a database connection instance
$mysqli = new mysqli($host, $username, $user_pass, $database);
?>
Вот search_all_jokes.php (который имеет незначительныйпроверка ошибок):
// if there are any values in the table, select them one at a time
if ($mysqli->connect_errno) {
echo "Connection to MySQL failed: (" . $mysqli->connect_errno . ") " .
$mysqli->connect_error;
}
echo $mysqli->host_info . "<br>";
$sql = "SELECT JokeID, Joke_question, Joke_answer FROM Jokes_table";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "JokeID: " . $row["JokeID"]. " - Joke_question: " .
$row["Joke_question"]. " " . $row["Joke_answer"]. "<br>";
}
} else {
echo "0 results";
}
?>
Также вот скриншот структуры таблицы, просмотренный в myPHPAdmin:
Я добавил захват ошибок в new_jokes.php, вдохновленный этим сообщением переполнения стека: INSERT INTO SYNTAX ERROR
и получить следующую ошибку: Ошибка: в синтаксисе SQL имеется ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который можно использовать рядом с 't jump'.) 'в строке 1 localhost через TCP / IP