Jump to content
  • 0

Не работает INSERT INTO


Tardpipl
 Share

Question

Друзья помогите пожалуйста с проблемой сам не пойму в чем она. Есть запрос mysql_query(" INSERT INTO blog (title, text) VALUES ('$title', '$text') "); он должен записать в бд его (phpmyadmin) но в чем весь сок он не записывает ошибок не выдает. В чем проблема? Для большего понятия я прикрепил 2 ссылки с кодами. Сам проект у меня на локалке (OpenServer).Спасибо!

http://pastebin.com/YzfVjuk2

http://pastebin.com/jSdfWXYw

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0
  On 1/17/2017 at 8:18 PM, Tardpipl said:

Друзья помогите пожалуйста с проблемой сам не пойму в чем она

Expand  

1. Где структура таблицы? (это так, на будущее).

2. Пишите запросы правильно

3. Почему переменные в одинарных кавычках пишите? Для начала начните делать так.

mysql_query("INSERT INTO `blog` (`title`, `text`) VALUES ('" . $title . "', '" . $text . "')");

Запрос правильный.

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

А вообще советую всё таки научиться работать с PDO, всё таки mysql_query() уже морально устарела.

Link to comment
Share on other sites

  • 0
  On 1/17/2017 at 11:50 PM, BrusSENS said:

Почему переменные в одинарных кавычках пишите?

Expand  

Наверное потому что двойные кавычки позволяют вставлять переменные напрямую =)

<?php
$str = 'строка';
echo "первая $str текста";
echo "вторая {$str} текста";
echo "третья ".$str." текста";

Все три варианта выведут корректную строку.

Link to comment
Share on other sites

  • 0
  On 1/18/2017 at 5:11 AM, wwt said:

Наверное потому что двойные кавычки позволяют вставлять переменные напрямую =)

<?php
$str = 'строка';
echo "первая $str текста";
echo "вторая {$str} текста";
echo "третья ".$str." текста";

Все три варианты выведут корректную строку.

Expand  

Капитан очевидность нарисовался? Или Вы таким образом поумничать решили, не читая моего ответа?

Link to comment
Share on other sites

  • 0
  On 1/19/2017 at 4:34 AM, Switch74 said:

@BrusSENS зря ты так

Expand  

А чего зря? Если забанят, то без причины. Человек написал непонятно что и для чего.

P.S.: мне вообще не понятно, зачем начинающие разработчики не освоив базового синтаксиса начинают работать с другой технологией.

Edited by BrusSENS
Link to comment
Share on other sites

  • 0
  On 1/19/2017 at 4:51 AM, BrusSENS said:

А чего зря? Если забанят, то без причины. Человек написал непонятно что и для чего.

P.S.: мне вообще не понятно, зачем начинающие разработчики не освоив базового синтаксиса начинают работать с другой технологией.

Expand  

Почему же непонятно что? Вы задали вопрос автору, я за него вам ответил, что он не допустил никаких ошибок в пунктах 2 и 3 вашего ответа.

  On 1/17/2017 at 11:50 PM, BrusSENS said:

1. Где структура таблицы? (это так, на будущее).

2. Пишите запросы правильно

3. Почему переменные в одинарных кавычках пишите? Для начала начните делать так.

mysql_query("INSERT INTO `blog` (`title`, `text`) VALUES ('" . $title . "', '" . $text . "')");

Запрос правильный.

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

А вообще советую всё таки научиться работать с PDO, всё таки mysql_query() уже морально устарела.

Expand  

Собирать строку запроса используя конкатенацию не обязательно, можно использовать двойные кавычки в которых обрабатываются переменные, и в этом нет никакой ошибки или недоработки. Разве что в некоторых случаях ухудшается читабельность кода.

Link to comment
Share on other sites

  • 0
  On 1/19/2017 at 5:12 AM, wwt said:

Почему же непонятно что? Вы задали вопрос автору, я за него вам ответил, что он не допустил никаких ошибок в пунктах 2 и 3 вашего ответа.

Expand  

Опс, точняк, переменные в одинарных кавычках обрабатываются, как положено, с учетом того, что они находятся внутри двойных.

Мои извинения, не прав.

Работая с PDO давно забыл уже, что такое вставлять переменные непосредственно в строку запроса)

Edited by BrusSENS
Link to comment
Share on other sites

  • 0
  On 1/19/2017 at 5:19 AM, BrusSENS said:

Опс, точняк, переменные в одинарных кавычках обрабатываются, как положено, с учетом того, что они находятся внутри двойных.

Мои извинения, не прав.

Работая с PDO давно забыл уже, что такое вставлять переменные непосредственно в строку запроса)

Expand  

Да ничего страшного =)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Лелик
      Источник для импорта сменил кодировку с utf-8 на  windows-1251. Всвязи с этим не выполняются циклы импорта, ошибка 1064 и кириллица выводится в квадратах. Также вверху шапки сайта при загрузке страницы админки с импортом и при оформлении заказа (на другой линии) [Unknown: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/p10824/xn--80agbgp3aafdnsm0c.xn--p1ai/system/library/partner.php on line 44 ]  Нужно адаптировать код по примеру [$q = 'select id, fio from `users`';
      $res = mysql_query($q);
      while (($row = mysql_fetch_assoc($res)) !== false) {
      // Преобразуем fio из utf-8/latin1 в windows-1251
      $s = iconv('utf-8', 'windows-1251', $row['fio']);
      // Преобразуем строку из однобайтной кодировки обратно в utf-8, выдав её за windows-1251
      $s = iconv('windows-1251', 'utf-8', $s);
      // Сохраняем назад в БД
      $q = 'update `users` set fio = "'.addslashes($s).'" where id = '.$row['id'];
      mysql_query($q);
      }]. Файл для работы прилагаю
      partner.php
    • By Only091
      Помогите пожалуйста, не получается сделать постраничную навигацию. Делал все по урокам. в Итоге получилось сделать два разных каталога один с фильтрами другой с постраничной навигацией. И теперь я пытаюсь объединить два каталога. Но не получается. Сами файлы урока в архике каталог. Буду очень благодарен если мне помогут! catalog.phpcatalogDB.js
      каталог.7z
    • By stonelabs
      Всем привет!

      Наша компания (https://stone-labs.com/) ищет команды (!) разработчиков для реализации ряда заказных проектов. Местоположение не важно - мы практикуем удаленную работу.
       
      Обязательные требования:
      Laravel или Symfony frameworks jQuery (UI), JavaScript, Ajax, Bootstrap MySQL REST API, опыт внедрения Third-party APIs английский на уровне чтения и понимания технической документации опыт в разработке веб приложений и их архитектуры с нуля корректное использование git & pull request flow работа в дневное время во временной зоне UTC +3  
      Будет плюсом, если у вашей команды есть:
      опыт с GitLab CI/CD, Jenkins опыт с MySQL Cluster, MongoDB, PostgreSQL, Redis опыт с Vue.js опыт Linux администрирования, SSH, Nginx, DevOps  
      Если вам интересно сотрудничество, пожалуйста, пишите на наш ящик wanted@stone-labs.com 
    • By Defroing
      <form method="POST" action= "action_handler.php" id="form"> <section class="table_1"> <table class="iksweb"> <tbody> <tr> <td rowspan="3"><b>История компании «Mc donald's»</b> <h3 class="the">Кто основал компанию «Mc donald's»?</h3> <section class="conteiner"> <div class="checkbox"> <input type="checkbox" class="i-6" id="i6" value="0" name="formDoor[]"> <label for="i6" tabindex="12">Роналд Макдоналд</label> </div> <div class="checkbox"> <input type="checkbox" class="i-6" id="i7" value="0" name="formDoor[]"> <label for="i7" tabindex="13">Рэй Крок</label> </div> <div class="checkbox"> <input type="checkbox" class="i-6" id="checkbox_68" value="1" name="formDoor[]"> <label for="checkbox_68" tabindex="14">Братья Дик и Мак Макдоналд</label> </div> <div class="checkbox"> <input type="checkbox" class="i-6" id="checkbox_170" value="0" name="formDoor[]"> <label for="checkbox_170" tabindex="14">Клинт Иствуд</label> </div> <div class="out-block out-6"></div> </section> </td> </tr> </tbody> </table> <div class="dsw"> <button class="b-6" tabindex="11" id="btn-1" type="submit" name="formSubmit">Отправить</button> </div> </form> <?php mysql_connect("localhost", "root", ""); mysql_select_db('olala') or die(mysql_error()); if(isset($_GET['submit'])){ $arr=$_GET; foreach ($arr as $key => $value) { $reg="/^check/";//отбираю нужные элементы if( preg_match ($reg,$key )) { //$new_mass[]=$arr[$key]; //print_r($new_mass); echo $arr[$key]; $sql_1="INSERT INTO `table_one` (`name`) VALUES('$arr[$key]')"; mysql_query($sql_1) or die(mysql_error()); } } } ?>  Создаю опросник и хочу, чтобы чекбоксы заносились в БД(таблицу пока не создавал). Хотелось узнать на счёт php кода, сможете подсказать, что в нём не так (дать какие нибудь советы). В openserver опросник пока не выкладывал.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy