php
  • mysql
  • 2015-04-23 2 views 0 likes 
    0

    У меня проблема с добавлением значения в запросе SELECT.Как добавить переменную PHP в запрос SELECT?

    $sql=("SELECT `image` FROM `testtable`"); 
    

    Выход: 123.jpg

    Но я хочу выход: 127.0.0.1/home/galery/123.jpg

    Так что я пробовал:

    $path='127.0.0.1/home/galery/'; 
    ......... 
    
    $sql=("SELECT $path+`image` FROM `testtable`"); 
    

    Но это не работает.

    +0

    есть вы сохранили это значение в своей базе данных .. ?? –

    +0

    , если нет, то вы должны связать свое выходное значение с контуром. –

    ответ

    1

    Существует два способа добиться этого.

    Метод 1:

    Используйте конкатенация, чтобы присоединиться путь к результату от SQL:

    $path = '127.0.0.1/home/galery/'; 
    $sql = "SELECT `image` FROM `testtable`"; 
    
    // Run the query... 
    
    $result = $path . $sql; 
    

    В PHP конкатенация выполняется с . operator. Также see here.

    Способ 2:

    Второй метод через CONCAT SQL function:

    $sql = "SELECT CONCAT('" . $path . "', `image`) FROM `testtable`"; 
    

    Или:

    $sql = "SELECT CONCAT('{$path}', `image`) FROM `testtable`"; 
    

    См this question разницу между этими вариантами.

    +0

    Ваш первый пример в методе 2 неверен, поскольку обертка '$ path' в одинарных кавычках будет анализировать как литерал' $ path', так что вы бы для удаления одинарных кавычек или использования второго примера, которому фактически не нужны фигурные скобки вокруг $ path, но они полезны для удобства чтения. –

    +0

    Хорошо заметили, ура! – Ninjakannon

    +0

    И с этим редактированием +1 для очень трогательного ответа на каждый здравомыслящий метод ответа. –

    0
    $sql=("SELECT CONCAT('$path',`image`) FROM `testtable`"); 
    
    0

    Используйте конкатенацию, как показано ниже ....

    $ SQL = ("SELECT". $ Пути. "+ image FROM теста")

    Здесь, текст в двойных кавычках строка

    Смежные вопросы