Код php для добавления значений таблице в mysql

83
29 марта 2021, 21:30

Код 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> 

Answer 1

Рекомендую попробовать использовать модуль mysql вместо mysqli. Это временное решение для того, чтобы проверить работает ли код. Если всё ок, тогда уже более подробнее нужно будет разобраться с модулем mysqli.

Answer 2

У вас использован неправильный синтаксис в запросе, внимательно проверяйте ошибки, которые возвращает база данных.

Что говорит 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')
;
READ ALSO
Смена и добавление стилей

Смена и добавление стилей

У меня есть событие, которое по клику меняет стили для блоковНо когда добавил php , то при переходах по ссылкам страница перезагружается и все...

101
Разделить string на HTML элементы

Разделить string на HTML элементы

Хотел разделить string на html элементы span

102
Парсинг js кода

Парсинг js кода

Всем привет! С помощью php+curl вытягиваю данные с страницы вот в таком формате:

85