Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28

Не работает добавление новой строки/удаление в БД - OpenServer

16.02.2020, 20:22. Показов 2750. Ответов 13

Студворк — интернет-сервис помощи студентам
/* Здравствуйте. Почему-то при нажатии на "Удалить..." или "Добавить..." Выскакивает ошибка. Всё (привёл лишь те файлы, в которых возможна ошибка) запускается с OpenServer. С чем это связано? С кодом или логином и паролем при входе в phpmyadmin. Хотя при этом сама база данных отображается и данные можно изменять при нажатии на текст "Изменить..." */

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//save_new.php
<html>
    <head>
        <title></title>
    </head>
    <body>
        <?php
            $query=mysqli_connect('localhost','root','') or die ("Невозможно подключиться к серверу");
                mysqli_select_db($query, 'library2') or die ("Нет такой базы!");
            mysqli_query($query, "Insert into books Set author='".$_GET['author']."', title='".$_GET['title']."'");
            if (mysqli_affected_rows($query) > 0)
            {
                echo "Запись добавлена";
            }
            else
            {
                echo "Возникла ошибка";
            }
        ?>
        <br>
        <a href="index.php">Вернуться к списку книг</a>
    </body>
</html>
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//dbconnection.php
<?php
    $localhost = "localhost";
    $db = "library2";
    $user = "root";
    $password = "";
    $link = mysqli_connect("localhost", "root", "", "library2");
    if (!$link)
    {
        echo "Нет соединения с сервером" . PHP_EOL;
        echo "Код ошибки errno: ". mysqli_connect_errno(). PHP_EOL;
        echo "Текст ошибки error: ". mysqli_connect_error(). PHP_EOL;
        exit;
    }
?>
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//index.php
<html>
    <head>
        <title>Управление книгами</title>
    </head>
    <body>
        <h1></h1>
        <table border="1">
            <tr>
                <td>#</td>
                <td>Автор</td>
                <td>Название</td>
                <td>Редактировать</td>
                <td>Удалить</td>
            </tr>
            <?php
                require_once "dbconnection.php";
                $query = "Select * From books";
                $rows = mysqli_query($link, $query);
                $i = 1; 
                while ($stroka = mysqli_fetch_array($rows))
                {
                    echo "<tr>";
                    echo "<td>". $i ."</td>";
                    echo "<td>". $stroka['author']."</td>";
                    echo "<td>". $stroka['title']."</td>";
                    echo "<td><a href='edit.php?id=".$stroka['id']."'>Редактировать</a></td>";
                    echo "<td><a href='delete.php?id=".$stroka['id']."'>Удалить</a></td>";
                    $i++;
                }
            ?>
        </table>
        <br>
        <a href="new.html">Добавить книгу</a>
    </body>
</html>
PHP/HTML
1
2
3
4
5
6
7
8
//delete.php
<?php
    $query=mysqli_connect('localhost','root','') or die ("Невозможно подключиться к серверу");
            mysqli_select_db($query, 'library2') or die ("Нет такой базы!");
    $row = "Delete From books Where id=".$_GET['id'];
    $result = mysqli_query($query, $row);
    header('Location: index.php');
?>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.02.2020, 20:22
Ответы с готовыми решениями:

БД с операциями: добавление новой строки, удаление строки, редактирование имеющейся строки
Нужно создать базу данных в паскале, с операциями: добавление новой строки, удаление строки, редактирование имеющей строки. Желательно с...

Добавление, редактирование, удаление новой записи в таблицу
ПОдскажите как добавить новую запись в таблицу пожалуйста У меня таблица из 56-ти человек и надо добавить еще. Пробовал через DBEdit, но...

Удаление самой давней и добавление новой записи
Ребят как добавить записи в бд, при этом если уже в базе например 20 строк, чтоб самая давняя удалялась и добавлялась новая...?

13
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
16.02.2020, 21:42
обычный вопрос - какая ошибка выскакивает? уважаемые, для кого она выводится - что там сказано.
0
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
17.02.2020, 08:14  [ТС]
В save_new.php записано условие, проверяющие добавление новых элементов. И вся проблема в том, что в базу данных не получается ничего добавить/удалить
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
17.02.2020, 10:01
совсем плохо дело. повторяю вопрос второй раз. вы пишите
Цитата Сообщение от Linar1 Посмотреть сообщение
Выскакивает ошибка
что за ошибка - какой текст выскакивает.
далее, если посмотреть на все ваши скрипты то видно редактирование записи, удаление, список записей. вот где скрипт, который создает $_GET['author'] и $_GET['title']? а может там не _GET а $_POST['author'] и $_POST['title']?
в скрипте ave_new.php перед $query=mysqli_connect вставьте такую строку:
PHP
1
2
3
echo '<pre>';
print_r($_GET);
echo '</pre>';
Добавлено через 38 секунд
что она выводит?
0
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
17.02.2020, 10:43  [ТС]
Ну вот то, что было в условии (save_new.php): "Возникла ошибка". Условие не зачло изменение количества строк в базе. А в чём дело-я не знаю. Запрос вроде правильный
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
17.02.2020, 10:47
Цитата Сообщение от Linar1 Посмотреть сообщение
Запрос вроде правильный
1) какой url? что в строке браузера написано?
2)
Цитата Сообщение от vinikon Посмотреть сообщение
в скрипте ave_new.php перед $query=mysqli_connect вставьте такую строку
строку пробовали вставлять?
0
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
17.02.2020, 10:52  [ТС]
Ок, попробую добавить
0
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
19.02.2020, 13:24  [ТС]
Набрал:
echo '<pre>';
print_r($_GET);
echo '</pre>';

При запуске вышло:
Array
(
[author] => Александр Сергеевич Пушкин
[title] => Пиковая дама
)
Ошибочка вышла.
Вернуться к списку книг
Миниатюры
Не работает добавление новой строки/удаление в БД - OpenServer  
0
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
19.02.2020, 14:07  [ТС]
При нажатии на "Удалить" выходит ошибка
Миниатюры
Не работает добавление новой строки/удаление в БД - OpenServer  
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
19.02.2020, 20:48
какой формат таблицы books - какие поля и их типы
0
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
20.02.2020, 15:36  [ТС]
id int(11)
author varchar(255)
title varchar(255)
Миниатюры
Не работает добавление новой строки/удаление в БД - OpenServer  
0
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
20.02.2020, 15:41  [ТС]
База:
Миниатюры
Не работает добавление новой строки/удаление в БД - OpenServer  
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
20.02.2020, 16:25
Лучший ответ Сообщение было отмечено Linar1 как решение

Решение

все понятно. у вас id не автоинкремент. то есть при создании таблицы id надо было определить примерно так
SQL
1
CREATE TABLE books(id INT NOT NULL AUTO_INCREMENT, author VARCHAR(255), title VARCHAR(255)) ENGINE=MyISAM AUTO_INCREMENT=1;
что бы сейчас заработало, надо вручную дописывать id, примерно так:
PHP
1
 mysqli_query($query, "Insert into books Set id=".time().", author='".$_GET['author']."', title='".$_GET['title']."'");
но лучше удалите таблицу books и создайте с правильным форматом id
1
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 28
21.02.2020, 08:36  [ТС]
Большое спасибо! Ошибка оказалась пустяковая.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.02.2020, 08:36
Помогаю со студенческими работами здесь

Добавление новой строки
Помогите я добавляю данные на делфи через навигатор в дбгрид. там много строк. Я хочу добавить новую строку например на 10-й строке(это...

Добавление новой строки
Доброго времени суток! Нужна помощь в добавлении новой записи в txt файл, а точнее: Хочу сделать программку для записи в неё паролей...

Добавление новой строки
Прошу помощи, делаю лабораторную работу, но не могу понять пример кода из неё. Суть задания, нужно по нажатию на кнопку, добавить новую...

Добавление в textBox с новой строки
Здравствуйте! Пытаюсь сделать так, чтобы считывалось с файла текст и добавлялся в textBox1. Пытаюсь реализовать StreamReader: ...

Добавление новой строки в ValuelistEditor
Всем доброговремени суток ! Мне вдруг понадобился компонент ValueListEditor (delphi 7),но возникла проблема немогу найти где добавить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru