За последние 24 часа нас посетили 22369 программистов и 1153 робота. Сейчас ищут 624 программиста ...

Ошибка - syntax error, unexpected ':', expecting ',' or ')'

Тема в разделе "PHP для новичков", создана пользователем nevidomo, 23 окт 2020.

  1. nevidomo

    nevidomo Новичок

    С нами с:
    23 окт 2020
    Сообщения:
    14
    Симпатии:
    0
    Подскажите как исправить

    <?php

    require_once 'db.php';

    $Login = $_POST['login'];
    $Group = $_POST['Group'];
    $FIO = $_POST['FIO'];

    mysqli_query($connect, query: "INSERT INTO `users` (`Login`, `Group`, `FIO`) VALUES ('$Login', '$Group', '$FIO')");
    ?>


    Parse error: syntax error, unexpected ':', expecting ',' or ')' in W:\domains\Phptest\css\create.php on line 9
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    А откуда такой синтаксис взялся, с query:? То, что новые штормы так автоматом показывают бледным шрифтом, не означает, что это так писать надо.
    --- Добавлено ---
    Так можно, вроде, будет писать в 8 версии php, но она пока только RC, выйдет через месяц
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.823
    Симпатии:
    736
    Адрес:
    Татарстан
    перевести трудно? гугл транслейт хотя бы?
    посмотреть описание функции?
    PHP:
    : - замените на ,
     
  4. nevidomo

    nevidomo Новичок

    С нами с:
    23 окт 2020
    Сообщения:
    14
    Симпатии:
    0
    заменил и и вот опять ошибка "Warning: mysqli_query() expects parameter 1 to be mysqli, null given in W:\domains\Phptest\css\create.php on line 9"
     
  5. nevidomo

    nevidomo Новичок

    С нами с:
    23 окт 2020
    Сообщения:
    14
    Симпатии:
    0
    как мне лучше заменить?
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    Ошибка изменилась, значит проблема другая. Скорее всего, подключения к базе не произошло, судя по тексту. Или переменная не так называется. Всё написано нормальным английским языком.

    Не понятен вопрос. Напишите в соответствии с синтаксисом php. Если не знаете синтаксис - какого фига лезете программировать?
     
    Motorinyan нравится это.
  7. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
    Начни с линухи и ангийского, без этих знаний будут постоянные проблемы, на решения которых ты будешь тратить целые дни.

    PHP тащит за собой сервер, сервер тащит за собой линукс, линукс тащит за собой английский, php ничего не знает про mysql.

    PHP это язык программирования, программирование это инженерия, инжеру надо знать очень много.
     
    Taktreba и mkramer нравится это.
  8. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    @Dimon2x Только я бы сказал, php - это программирование, программирование тащит за собой английский
     
  9. nevidomo

    nevidomo Новичок

    С нами с:
    23 окт 2020
    Сообщения:
    14
    Симпатии:
    0
    я не понимаю почему не произошло подключения
    этот код мне выводит дание из бд
    <? include_once('db.php') ?>
    <? $sql = $db->query("SELECT * FROM `Users`"); /* запрос сам*/
    $db-> close;
    while ($result = $sql ->fetch_assoc()):?>
    <div class="login"><h3><?=$result['login'] ?></h3> </div>
    <div class="FIO"> <?=$result['FIO'] ?> </div>
    <? endwhile ?>

    а вот:
    не хочет вносить но подключаю к db.php
    <?php

    require_once 'db.php';

    $Login = $_POST['login'];
    $Group = $_POST['Group'];
    $FIO = $_POST['FIO'];

    mysqli_query($connect, query, "INSERT INTO `users` (`Login`, `Group`, `FIO`) VALUES ('$Login', '$Group', '$FIO')");
    ?>
     
  10. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    А что в db.php? И прочитайте в подписи, как оформлять код
    Это бред сивой кобылы, прочитайте документацию по mysqli.

    И судя по коду, вы в основах путаетесь, что такое переменная, что такое параметры.
     
  11. nevidomo

    nevidomo Новичок

    С нами с:
    23 окт 2020
    Сообщения:
    14
    Симпатии:
    0
    В db.php:
    <?php
    $db = new mysqli('localhost','root','root','Users');

    ?>
     
  12. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    И не надо смешивать процедурный и ООП стили.
     
  13. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    @nevidomo, ну я же говорю, переменные не понимаете. В одном месте она у вас $db называется, а в другом месте должна как-то преобразоваться в $connect сама собой?
     
  14. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
    'Users' - это строка
    $users - это переменная
     
  15. nevidomo

    nevidomo Новичок

    С нами с:
    23 окт 2020
    Сообщения:
    14
    Симпатии:
    0
    зделал
    db.php:
    <?php
    $connect = new mysqli('localhost','root','root','Users'); /* connect db */

    ?>
    create.php:

    <?php

    require_once 'db.php';

    $Login = $_POST['Login'];
    $Group = $_POST['Group'];
    $FIO = $_POST['FIO'];

    mysqli_query($connect, query, "INSERT INTO `users` (`Login`, `Group`, `FIO`) VALUES ('$Login', '$Group', '$FIO')");
    ?>
    но ошибка: Warning: mysqli_query() expects parameter 3 to be integer, string given in W:\domains\Phptest\css\create.php on line 9
     
  16. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    Ну уже изменилось. Но документацию по mysqli_query так и не поискал. И код оформляешь как попало. Как правильно - у меня в подписи.

    https://www.php.net/manual/ru/mysqli.query.php - читаем здесь, как правильно. Вообще не понимаю, откуда у тебя слово query в параметрах. Это неосознанное программирование, бич молодых программистов, судя по тем, что к нам на собеседования приходят. Код через сознание не проходит, спрашиваешь: "с какой целью написал именно так, а не иначе" - ответить не могут. Не приучайте себя к такому. Правило очень простое, чтоб программирование было осознанным - читать про каждую функцию, которая вызывается, документацию. Читать, как работает язык на котором пишешь. Читать, читать и ещё раз читать.
     
  17. nevidomo

    nevidomo Новичок

    С нами с:
    23 окт 2020
    Сообщения:
    14
    Симпатии:
    0
    большое спасибо
    уже понял где проблема
     
  18. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.751
    Симпатии:
    1.322
    Адрес:
    Лень
    @nevidomo, самое начало, от чего нужно начинать отталкиваться, это
    russkij_jazyk_uchebniki_3_4_kl_1979_80_g_g.jpg

    Пи3дец - даже подсветку текстаАрены нахрен продуплить o_O какое б... программирование ??


    Читаем Parse error - что за херня ? Транслятор нельзя было врубить и перевести ??? "Ошибка синтаксического анализа"

    Что такое СИНТАКСИС ? Снова гуглим - узнаем.. Это тоже 6лядь как русский язык ГРА МА ТИ КА
    С таким же успехом дальше переводим, думаем, покурим и снова думаем, можешь даже поужинать если до такого дошло.
    Line ? строка
    Что - то в строке 9 Синтаксис долбаный сломан в PHP o_O Ведь пхп интерпретатор ругается
    Смотрим и дуплим, что там за 9 строка
    PHP:
    1. mysqli_query($connect, query: "INSERT INTO `users` (`Login`, `Group`, `FIO`) VALUES ('$Login', '$Group', '$FIO')");
    Идем, смотрим ОФФ документацию - гуглим mysqli_query
    Читаем и просвещаемся. Cмотрим на ПРИМЕРЫ ЗАПОЛНЕНИЯ АТРИБУТОВ, у данной функции.

    Оказывается, какого }{Yя у тебя бичь в виде "query: " скопирована из помойной документации в интернете.

    На будущее, юзай редактор с ПОДСВЕТКОЙ PHP
    --- Добавлено ---
    Даже тут херня эта подсвечивается
     
    Taktreba нравится это.