За последние 24 часа нас посетили 21684 программиста и 1689 роботов. Сейчас ищут 1997 программистов ...

Получение полня по запросу

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

  1. RoffDaniel

    RoffDaniel Новичок

    С нами с:
    10 май 2018
    Сообщения:
    18
    Симпатии:
    0
    Всем привет. Ломаю голову уже день. Использую ORM RedBeanPHP. Хочу получить определенное полу по запросу:
    PHP:
    1. $sex = R::getAssoc('SELECT `sex` FROM '.$server.' WHERE `name` ='.$name.'');
    Переменные в запросе равны...:
    PHP:
    1. $server = $_SESSION['server'];
    2. $name = $_SESSION['logged_user']->name;
    Подскажите пожалуйста, заранее, большое спасибо!
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.331
    Адрес:
    Лень
    имя в кавычки бери
     
  3. RoffDaniel

    RoffDaniel Новичок

    С нами с:
    10 май 2018
    Сообщения:
    18
    Симпатии:
    0
    В смысле? А они не в кавычках?
     
  4. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Очевидно же, что нет. `name` ="'.$name.'"'
     
    RoffDaniel нравится это.
  5. RoffDaniel

    RoffDaniel Новичок

    С нами с:
    10 май 2018
    Сообщения:
    18
    Симпатии:
    0
    Понял, спасибо, но теперь выводит «("Array")»
    Вот запрос:
    PHP:
    1. $org = R::getAssoc("SELECT `org` FROM `'.$server.'` WHERE `name` = ''.$name.''");
    2.  
    3. ("'.$org.'")
     
    #5 RoffDaniel, 12 май 2018
    Последнее редактирование: 12 май 2018
  6. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Не очень.
    PHP:
    1. <?php
    2. $sex = R::getAssoc("SELECT `sex` FROM `".$server."` WHERE `name` ='".$name."'");
    А что это такое, я не понимаю.
    --- Добавлено ---
    А в этом RedBeanPHP есть возможность использования плейсхолдеров? Поменьше было бы путаницы с кавычками.
     
    RoffDaniel нравится это.
  7. RoffDaniel

    RoffDaniel Новичок

    С нами с:
    10 май 2018
    Сообщения:
    18
    Симпатии:
    0
    Это пример вывода переменной. Я просто поменял ее и показал другой пример...
    Не знаю, я только начал с ним работать.

    Вот я по другому сделал:
    PHP:
    1. $org = R::getCol("SELECT org FROM $server WHERE name = $name");
    2.  
    3. ("'.$org.'")
    И все равно переменная выводит «("Array")». Что делать чтобы вместо «("Array")» было поле которое ищу?
     
  8. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Ну, так вы массив получаете. Если хотите посмотреть, что в этом массиве, то используем var_dump(), var_export() или print_r().
    --- Добавлено ---
    PHP:
    1. print_r($org);
     
    RoffDaniel нравится это.
  9. RoffDaniel

    RoffDaniel Новичок

    С нами с:
    10 май 2018
    Сообщения:
    18
    Симпатии:
    0
    А, понял. Если выводит "1", значит запрос неверный?
     
  10. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Я не знаком с RedBeanPHP и не знаю, что и в каких случаях он должен возвращать. Запрос может быть вполне верным, но не факт, что по этому запросу обнаружены какие-то данные в базе.
    --- Добавлено ---
    Мелькнула мысль, что вы делали вывод так:
    PHP:
    1. echo print_r($org);
    Тогда понятно откуда 1. echo не нужно. Чтобы не пересказывать написанное, лучше прочитайте про функции сами.
     
    RoffDaniel нравится это.
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.331
    Адрес:
    Лень
    @Deonis ну и терпение у тебя..
     
    RoffDaniel нравится это.
  12. RoffDaniel

    RoffDaniel Новичок

    С нами с:
    10 май 2018
    Сообщения:
    18
    Симпатии:
    0
    Все так и вышло, немного перечитав, понял что нужно использовать:
    PHP:
    1. R::getCell("SELECT org FROM $server WHERE name = '$name'");
    Но все равно спасибо Вам! Респект!
    --- Добавлено ---
    А что тут такого? Просто человек помог и все...