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

Не добавляется запись в бд

08.04.2016, 14:19. Показов 7286. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поставил денвер. Создал в phpmyadmin бд "news" и таблицу "homepage". Если в phpmyadmin запустить
MySQL
1
INSERT INTO homepage(id, title, img, descript, link, textn) VALUES ('$id','$title','$img','$desc','$link','$text')
запись добавится. Если тоже самое записи нет. Код:
PHP
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
37
38
39
40
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Добавить запись</title>
</head>
  <form method="POST" action="">
        <input name="id" type="text" placeholder="id"/>
        <input name="title" type="text" placeholder="Имя"/>
        <input name="img" type="text" placeholder="Ссылка на картинку"/>
        <input name="desc" type="text" placeholder="Описание"/>
        <input name="link" type="url" placeholder="link"/>
        <input name="text" type="text" placeholder="text"/>
        <input type="submit" value="Отправить"/>
    </form>
    <?php // вот тут пхп код начинается
    if ((isset($_POST['id'])) && (isset($_POST['title'])) && (isset($_POST['img'])) && (isset($_POST['desc'])) && (isset($_POST['link'])) && (isset($_POST['text']))){ //проверка на передачу переменных
        echo('yes');
      $id=strip_tags(trim($_POST['id']));
      $title=strip_tags(trim($_POST['title']));
      $img=strip_tags(trim($_POST['img']));
      $desc=strip_tags(trim($_POST['desc']));
      $link=strip_tags(trim($_POST['link']));
      $text=strip_tags(trim($_POST['textn']));
      $dblink=mysql_connect();
      mysql_select_db("news");
      mysql_query(" SET NAMES 'utf8' ");
       $result = mysql_query("INSERT INTO homepage(id, title, img, descript, link, textn) VALUES ('$id','$title','$img','$desc','$link','$text')");
     
    if ($result = 'true'){
        echo "Информация занесена в базу данных";
    }else{
        echo "Информация не занесена в базу данных";
    }    
      mysql_close();
    }
    ?>
<body>
</body>
</html>
При этом mysql_query возвращает true. Что делать?

Добавлено через 10 минут
Версия программы: 5.5.25 - MySQL Community Server (GPL)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.04.2016, 14:19
Ответы с готовыми решениями:

Не добавляется запись в БД
Не выполняется запрос INSERT INTO. При отладке выдает ошибку Uncaught exception 'PDOException' with message 'SQLSTATE: ... Stack trace: #0...

Не добавляется запись в БД
В общем, не работает этот кусок кода, а именно не запускается сам запрос. &quot;Ошибка синтаксиса в инструкции INSERT INTO.&quot;. В других...

Не добавляется запись
Вот в чем проблема, есть 3 формы. На одной есть 2 dbgrid`а(один ко многим). На двух других формах кнопки для добавления записей в dbgrid`ы....

7
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
08.04.2016, 14:31
Цитата Сообщение от GHOSTd Посмотреть сообщение
if ($result = 'true'){
Во-первых, = - присваивание, == - сравнение.
Во-вторых, true - это истина, 'true' - строка из 4 букв.
PHP
1
if($result == true)
0
0 / 0 / 0
Регистрация: 21.07.2014
Сообщений: 11
08.04.2016, 14:44  [ТС]
Исправил, теперь false) Но в phpmyadmin если сделать запрос
MySQL
1
INSERT INTO homepage(id, title, img, descript, link, textn) VALUES (1,'$title','$img','$desc','$link','$text')
запись добавляется.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
08.04.2016, 15:16
GHOSTd,
PHP
1
2
3
4
if($result == true)
    echo "Информация занесена в базу данных";
else
    echo "Информация не занесена в базу данных, ошибка: " . mysql_error();
И скиньте сюда текст ошибки.
0
 Аватар для Harma
43 / 44 / 35
Регистрация: 13.01.2016
Сообщений: 155
08.04.2016, 15:19
Название таблицы и названия атрибутов должны быть в обратных апострофах
``
Покажите весь код, после того, как вы исправляли.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
08.04.2016, 15:25
Цитата Сообщение от GHOSTd Посмотреть сообщение
isset($_POST['id'])) && (isset($_POST['title'])) && (isset($_POST['img']))
Можно сократить до:
PHP
1
isset($_POST['id'], $_POST['title'], $_POST['img'])
Цитата Сообщение от GHOSTd Посмотреть сообщение
$id=strip_tags(trim($_POST['id']));
Для чисел достаточно привидения к типу:
PHP
1
$id = (int) $id;
Для строк - обязательно экранирование:
PHP
1
$link= mysql_real_escape_string(strip_tags(trim($_POST['link'])));
И у вас путаница с полем "text". В форме оно text, принимаете в $_POST['textn'].
1
0 / 0 / 0
Регистрация: 21.07.2014
Сообщений: 11
08.04.2016, 15:52  [ТС]
Ошибка: Unknown column '10' in 'field list' 10 - это значение, которое я первым передаюэ
Код:
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
<body>
  <form method="POST" action="">
        <input name="id" type="text" placeholder="id"/>
        <input name="title" type="text" placeholder="Имя"/>
        <input name="img" type="text" placeholder="Ссылка на картинку"/>
        <input name="desc" type="text" placeholder="Описание"/>
        <input name="link" type="url" placeholder="link"/>
        <input name="text" type="text" placeholder="text"/>
        <input type="submit" value="Отправить"/>
    </form>
    <?php
    if (isset($_POST['id'], $_POST['title'], $_POST['img'], $_POST['desc'], $_POST['link'], $_POST['link'], $_POST['text']))
{
        echo('yes');
      $id=(int) $_POST['id'];
      $title=mysql_real_escape_string(strip_tags(trim($_POST['title'])));
      $img=mysql_real_escape_string(strip_tags(trim($_POST['img'])));
      $desc=mysql_real_escape_string(strip_tags(trim($_POST['desc'])));
      $link=mysql_real_escape_string(strip_tags(trim($_POST['link'])));
      $text=mysql_real_escape_string(strip_tags(trim($_POST['text'])));
      $dblink=mysql_connect('localhost','root','');
      mysql_select_db('news');
      mysql_query(" SET NAMES 'utf8' ");
       $result = mysql_query("INSERT INTO `homepage`( `id`, `title`, `img`, `descript`, `link`, `textn`) VALUES (`$id`,`$title`,`$img`,`$desc`,`$link`,`$text`)");
     
    if($result == true)
    {
        echo "Информация занесена в базу данных";
    }else{
        echo "Информация не занесена в базу данных" . mysql_error();
    }    
      mysql_close();
    }
    ?>
</body>
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
08.04.2016, 16:09
Лучший ответ Сообщение было отмечено GHOSTd как решение

Решение

GHOSTd,
Цитата Сообщение от Harma Посмотреть сообщение
Название таблицы и названия атрибутов должны быть в обратных апострофах
Т.е. названия таблиц и полей. А значения заключайте в обычные '' и "" кавычки.
SQL
1
SELECT * FROM `table` WHERE `name` = 'Вася'
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.04.2016, 16:09
Помогаю со студенческими работами здесь

Не добавляется запись
Очень срочно нужна помощь! Какая-то ерунда, элементарно надо добавить запись, но все время появл. ошибка &quot;Could not convert variant of...

Не добавляется запись в бд
Добрый вечер. На Access 2003 не добавляет запись в бд visual studio c#.при компиляции нету никаких ошибок using System; using...

Не добавляется запись в бд
Здравствуйте, подскажите почему не добавляется запись в бд? for($i=0; $i&lt;=count($prof_univ3); $i++) { ...

Не добавляется запись в бд
При попытки добавления записи в бд возникает следующая ошибка: System.Data.OleDb.OleDbException: &quot;Число содержит синтаксическую...

Не добавляется запись
Вообщем дело такое, у меня есть 6 таблиц: Марка-&gt;Модель-&gt;Модификация-&gt;Общий каталог-&gt;запчасть-&gt;заказчик. Так вот, хочу добавить...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru