Прошу помочь. При выполнении учебного задания выдаёт ошибку: Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\sqltest.php on line 23 Использую XAMPP Version: 7.1.10. Если не затруднит, просмотрите всю запись, возможно, увидите, что там ещё не так. Чтобы избежать подобных детских вопросов от меня, быть может, посоветуете что почитать для того, чтобы понять как читать и понимать чужой код, правильно его писать самому, и вообще понять синтаксис PHP. Код (Text): <?php // sqltest.php require_once 'login.php'; $conn = new mysqli ($hn, $un, $up, $db); if ($conn->connect_error) die($conn->connect_error); if (isset($_POST['delete']) && isset($_POST['isbn'])) { $isbn = get_post($conn, 'isbn'); $query = "DELETE FROM classics WHERE isbn='$isbn'"; $result = $conn->query($query); if (!$result) echo "Сбой при удалении данных: $query<br>" . $conn->error . "<br><br>"; } if (isset($_POST['author']) && (isset($_POST['title']) && (isset($_POST['category']) && (isset($_POST['year']) && (isset($_POST['isbn'])) { $author = get_post($conn, 'author'); $title = get_post($conn, 'title'); $category = get_post($conn, 'category'); $year = get_post($conn, 'year'); $isbn = get_post($conn, 'isbn'); $query = "INSERT INTO classics VALUES" . "('$author', '$title', '$category', '$year', '$isbn')"; $result = $conn->query($query); if (!result) echo "Сбой данных при вставке данных: $query<br>". $conn->error . "<br><br>"; } echo <<<_END <form action="sqltest.php" method="post"><pre> Author <input type="text" name="author"> Title <input type="text" name="title"> Category <input type="text" name="category"> Year <input type="text" name="year"> ISBN <input type="text" name="isbn"> <input type="submit" value="ADD RECPRD"> // кнопка Добавить запись </pre></form> _END; $query = "SELECT * FROM classics"; $result = $conn->query($query); if (!$result) die ("Сбой при доступе к базе данных: " . $conn->error); $rows = $result->num_rows; for ($j = 0 ; $j < $rows ; ++$j) { $result->data_seek($j); $row = $result->fetch_arrow(MYSQLI_NUM); echo <<<_END <pre> Author $row[0] Title $row[1] Category $row[2] Year $row[3] ISBN $row[4] </pre> <form action="sqltest.php" method="post"> <input type="hidden" name="delete" value="yes"> <input type="hidden" name="isbn" value="$row[4]"> <input type>="submit" value="DELETE RECORD"></form> _END; } $result->close(); $conn->close(); function get_post($conn, $var) { return $conn->real_escape_string($_POST[$var]); } ?> [code]
PHP: if (isset($_POST['author']) && (isset($_POST['title']) && (isset($_POST['category']) && (isset($_POST['year']) && (isset($_POST['isbn'])) { PHP: if ( isset ( $_POST[...], $_POST[...], $_POST[...], $_POST[...] ) ) --- Добавлено --- PHP: $filter_key = [ 'author' => FILTER_DEFAULT, 'title' => FILTER_DEFAULT, 'category' => FILTER_DEFAULT, 'year' => FILTER_DEFAULT, 'isbn' => FILTER_DEFAULT, ]; if ( !in_array ( null, ( $filter = filter_input_array ( INPUT_POST, $filter_key ) ), true ) ) { ... }
Вот что: $author = get_post($conn, 'author'); Непонятно, почему PHP ругается на точку с запятой в конце строки и как сделать чтобы код работал.
@askanim у тса в условии скобки пропущены --- Добавлено --- @Alex-4891 я тебе уже написал решение постом выше