За последние 24 часа нас посетили 17327 программистов и 1723 робота. Сейчас ищут 1604 программиста ...

Отправка сообщения в БД и вывод

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

Метки:
  1. chakidze

    chakidze Новичок

    С нами с:
    1 май 2018
    Сообщения:
    16
    Симпатии:
    0
    Всем привет, и снова Я!
    Продолжаю работу над своим сайтом. Смотрел недавно видео на youtube и наткнулся на интересный и несложный код "отправка смс в бд" Вообщем начал разбираться с ним и наткнулся на неприязнь, синткасическая ошибка с квадратной и круглой скобкой. Не могу разобраться, пробовал разными способами, всё равно! Помогите если сможете, а так же ещё могли бы вы показать пример или объяснить как именно выводить информацию который будет писать пользователь ему же на экран, получается все остальные могут видеть. Не полностью понятен алгоритм.


    PHP:
    1. <?PHP
    2. try
    3. {
    4. $conn = new PDO("mysql:host=localhost; dbname=base; username = 'root'; password = ''");
    5. if(empty($_POST['name']))
    6. {
    7. exit("поле не заполнено");
    8. }
    9. if(empty($_POST['content']))
    10. {
    11. exit("поле не заполено");
    12. }
    13. $query = "INSERT INTO signup VALUES (NULL , :name,NOW())";
    14. $msg = $conn->prepare($query);  
    15. $msg->execute(['name' => $_POST['name']]);
    16. $msg_id = $conn -> lastInsertId();
    17. $query = "INSERT INTO message_content VALUES(NULL , :content , :message_id)";
    18. $msg = $conn -> prepare($query);
    19. $msg -> execute (['content' => $_POST['content'],'message_id' => $msg_id]);
    20. header("Location:home.php");
    21. }
    22. catch(PDOException $e)
    23. {
    24. echo "Error" . $e -> getMessage();
    25. }
    26. ?>
    ошибки в 15 и 19 строке
    ГОВОРИТ:синтаксическая ошибка, непредвиденная ' [ ', ожидание') ' в Z
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    он так не пишет обрезкой
     
  3. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    <uangamodeon>
    У тебя версия php <5.4
    А такая запись массивов возможна только на php > 5.4, соответственно.

    Попробуй:
    PHP:
    1. <?php
    2. try
    3. {
    4. $conn = new PDO("mysql:host=localhost; dbname=base; username = 'root'; password = ''");
    5. if(empty($_POST['name']))
    6. {
    7. exit("поле не заполнено");
    8. }
    9. if(empty($_POST['content']))
    10. {
    11. exit("поле не заполено");
    12. }
    13. $query = "INSERT INTO signup VALUES (NULL , :name,NOW())";
    14. $msg = $conn->prepare($query);
    15. $msg->execute(array('name' => $_POST['name']));
    16. $msg_id = $conn -> lastInsertId();
    17. $query = "INSERT INTO message_content VALUES(NULL , :content , :message_id)";
    18. $msg = $conn -> prepare($query);
    19. $msg -> execute (array('content' => $_POST['content'],'message_id' => $msg_id));
    20. header("Location:home.php");
    21. }
    22. catch(PDOException $e)
    23. {
    24. echo "Error" . $e -> getMessage();
    25. }
    я там поменял большие буковки PHP на маленькие. Это не важно, просто бесит.
    <uangamodeoff>
     
  4. chakidze

    chakidze Новичок

    С нами с:
    1 май 2018
    Сообщения:
    16
    Симпатии:
    0
    теперь выдаёт такую ошибку
    Ошибка SQLSTATE[42000] [1044] доступ запрещен для пользователя " @ 'localhost' к базе данных 'base'
    --- Добавлено ---
    пользователь в бд добавлен