За последние 24 часа нас посетил 20271 программист и 1701 робот. Сейчас ищут 1357 программистов ...

PDO отправка записей в БД

Тема в разделе "PHP и базы данных", создана пользователем Gallagher, 29 июл 2018.

  1. Gallagher

    Gallagher Новичок

    С нами с:
    29 июл 2018
    Сообщения:
    4
    Симпатии:
    0
    Подскажите где инструкцию взять чтоб можно было понять как вообще записи отправлять в БД данных ... Подключиться подключился а дальше что-то не разберусь как. Инструкция на php.net тоже не сильно помогла ...
    Код (Text):
    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="utf-8">
    5. <title>CKEditor</title>
    6. <!-- Make sure the path to CKEditor is correct. -->
    7. <script src="ckeditor/ckeditor.js"></script>
    8. </head>
    9. <body>
    10.         <form method="post" enctype="multipart/form-data">
    11.             <input type="file" name="file">
    12.             <input type="submit" value="Загрузить файл!">
    13.         </form><br/>
    14.         <form method="post" action="index.php">
    15.             <input type="text" name="title" placeholder="Введите заголовок статьи" size="100%"><br/><br/>
    16.             <textarea name="CKEditor" id="CKEditor" rows="10" cols="80"></textarea><br/>
    17.             <input type="submit" name="add" value="Опубликовать запись">
    18.  
    19.             <script>
    20.                 // Replace the <textarea id="editor1"> with a CKEditor
    21.                 // instance, using default configuration.
    22.                 CKEDITOR.replace( 'CKEditor', {} );
    23.  
    24.             </script>
    25.         </form>
    26. <?php
    27. if (isset($_POST['add'])){
    28.     $title = strip_tags(trim($_POST['titie']));
    29.     $text = strip_tags(trim($_POST['CKEditor']));
    30.  
    31.     $sql = "INSERT INTO post(title, CKEditor) VALUES ('$title', '$text')";
    32.     $connect->execute($sql);
    33.  
    34.      
    35. }
    36.  
    37. $servername = "localhost";
    38. $username = "root";
    39. $password = "";
    40.  
    41. try {
    42.     $connect = new PDO("mysql:host=$servername; dbname=upload_post", $username, $password);
    43.     echo 'Новое соединение с БД установлено';
    44.  
    45.  
    46. }catch (PDOException $e){
    47.     echo 'Что то не так блин: ' . $e->getMessage();
    48. }
    49.  
    50. $connect = null;
    51.  
    52. ?>
    53.  
    54.  
    55. </body>
    56. </html>
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.331
    Адрес:
    Лень
    Я реально, смотря на данный код, завис на 5 минут... слушая музыку

    --- Добавлено ---
    http://phpfaq.ru/pdo
     
  3. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
     
    Dron-Boy нравится это.
  4. Gallagher

    Gallagher Новичок

    С нами с:
    29 июл 2018
    Сообщения:
    4
    Симпатии:
    0
    С подключением как раз проблем нет ... код такой теперь но все равно не работает
    Fatal error: Uncaught Error: Call to a member function execute() on null
    Код (Text):
    1. <?php
    2. if (isset($_POST['add'])){
    3.     $title = $_POST['titie'];
    4.     $text = $_POST['CKEditor'];
    5.  
    6.  
    7.  
    8.  
    9. try {
    10.     $dbh = new PDO("mysql:host=localhost; dbname=upload_post", 'root', "");
    11.     echo 'Новое соединение с БД установлено';
    12.     $sth = $dbh->query("INSERT INTO post ('CKEditor', 'titie') VALUES ($text, $title)");
    13.  
    14.  
    15. }catch (PDOException $e){
    16.     echo 'Что то не так блин: ' . $e->getMessage();
    17. }
    18.  
    19. $dbh = null;
    20. }
    21. ?>
     
  5. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
  6. Gallagher

    Gallagher Новичок

    С нами с:
    29 июл 2018
    Сообщения:
    4
    Симпатии:
    0
    изменил немного код
    Код (Text):
    1. <?php
    2. if (isset($_POST['add'])){
    3.     $title = $_POST['titie'];
    4.     $text = $_POST['CKEditor'];
    5.  
    6.  
    7.     $pass = "";
    8.  
    9.  
    10. }
    11.  
    12. try {
    13.     $dbh = new PDO("mysql:host=localhost; dbname=upload_post", 'root', $pass);
    14.     echo 'Новое соединение с БД установлено';
    15.    
    16.  
    17.     $sql = "INSERT INTO post ('CKEditor', 'titie') VALUES ($text, $title)";
    18.     $stm = $dbh->prepare($sql);
    19.     $stm->execute($values);
    20.  
    21. }catch (PDOException $e){
    22.     echo 'Что то не так блин: ' . $e->getMessage();
    23. }
    24.  
    25. $dbh = null;
    26.  
    27. ?>
     
  7. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Зачем тебе здесь пробел?
     
  8. Gallagher

    Gallagher Новичок

    С нами с:
    29 июл 2018
    Сообщения:
    4
    Симпатии:
    0
    не работает все равно ... та же ошибка ...
    Код (Text):
    1.       <form method="post" enctype="multipart/form-data">
    2.             <input type="file" name="file">
    3.             <input type="submit" value="Загрузить файл!">
    4.         </form><br/>
    5.         <form method="post" action="indexnew.php">
    6.             <input type="text" name="title" placeholder="Введите заголовок статьи" size="100%"><br/><br/>
    7.             <textarea name="CKEditor" id="CKEditor" rows="10" cols="80"></textarea><br/>
    8.             <input type="submit" name="add" value="Опубликовать запись">
    9.    
    10.             <script>
    11.                 // Replace the <textarea id="editor1"> with a CKEditor
    12.                 // instance, using default configuration.
    13.                 CKEDITOR.replace( 'CKEditor', {} );
    14.  
    15.             </script>
    16.         </form>
    17. <?php
    18. if (isset($_POST['add'])){
    19.     $title = $_POST['titie'];
    20.     $text = $_POST['CKEditor'];
    21.  
    22. }
    23.  
    24. $servername = "localhost";
    25. $username = "root";
    26. $password = "";
    27. $dbname = "upload_post";
    28.  
    29. // Create connection
    30. $conn = new mysqli($servername, $username, $password, $dbname);
    31.  
    32. // Check connection
    33. if ($conn->connect_error) {
    34.     die("Connection failed: " . $conn->connect_error);
    35. }
    36.  
    37. // prepare and bind
    38. $stmt = $conn->prepare("INSERT INTO post (title, text) VALUES ($title, $text)");
    39.  
    40. $stmt->execute();
    41.  
    42.  
    43. echo "New records created successfully";
    44.  
    45. $stmt->close();
    46. $conn->close();
    47.  
    48. ?>
    из примера взял текст, подправил немного ... та же ошибка
     
  9. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    В примере такого нет. Там знак вопроса
    --- Добавлено ---
    вот без подготовленных запросов
    https://www.w3schools.com/php/php_mysql_insert.asp