2015-03-23 3 views
0

с этим кодом:MySql - PHP UPDATE

$result = mysql_query(" 
UPDATE skroutz SET 
Image_Link=(
    SELECT file_url 
    FROM bonnie_virtuemart_medias 
    INNER JOIN bonnie_virtuemart_product_medias 
    ON bonnie_virtuemart_medias. virtuemart_media_id =bonnie_virtuemart_product_medias. virtuemart_media_id 
    WHERE virtuemart_product_id=Unique_ID LIMIT 1)",$db); 

я получаю путь формы /images/stories/virtuemart/product/1200x1000.gif

Получить его из таблицы в моей базе данных, уже существует и перенос в другую таблицу с помощью UPDATE

Попытка добавить статическую строку перед именем, но я не могу. В частности, я хочу, чтобы новая таблица для передачи сохраняется как:

http://www.example.com/images/stories/virtuemart/product/1200x1000.gif

Это добавляет к данным в фронте: www.example.com

Может кто-то помочь?

То, что я пытался без успеха:

$result = mysql_query(" 
    UPDATE skroutz 
    SET Image_Link=('www.example.com' 
    SELECT file_url 
    FROM bonnie_virtuemart_medias 
    INNER JOIN bonnie_virtuemart_product_medias 
    ON bonnie_virtuemart_medias. virtuemart_media_id =bonnie_virtuemart_product_medias. virtuemart_media_id 
    WHERE virtuemart_product_id=Unique_ID LIMIT 1)",$db); 
+0

Посмотрите в [функции Concat] (HTTP://www.tutorialspoint.com/mysql/mysql-concat-function.htm) – Dallin

+2

** ПРЕДУПРЕЖДЕНИЕ **: Если вы просто изучаете PHP, не изучайте устаревший интерфейс 'mysql_query'. Это ужасно и удаляется в будущих версиях PHP. Современная замена, такая как [PDO, не трудно учиться] (http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/). Руководство, подобное [PHP The Right Way] (http://www.phptherightway.com/), может помочь объяснить лучшие практики. Всегда будьте абсолютно уверены * ваши пользовательские параметры [правильно экранированы] (http://bobby-tables.com/php), или у вас будут серьезные [ошибки SQL-инъекций] (http://bobby-tables.com/). – tadman

ответ

1

Вы должны использовать функцию CONCAT:

$result = mysql_query(" 
    UPDATE skroutz 
    SET Image_Link=(
    SELECT CONCAT('www.example.com', file_url) 
    FROM bonnie_virtuemart_medias 
    INNER JOIN bonnie_virtuemart_product_medias 
    ON bonnie_virtuemart_medias. virtuemart_media_id = bonnie_virtuemart_product_medias. virtuemart_media_id 
    WHERE virtuemart_product_id=Unique_ID LIMIT 1)",$db); 
+0

Спасибо! Отлично! –

+0

Рад, что это работает, но приведенный выше комментарий прав - вы абсолютно не должны использовать mysql_query. Я пропустил это при ответе. –

0

Поскольку я сделал обновление вашего вопроса, очевидно, что вы пытаетесь что-то странное.

Если я получил вашу цель правильно, вы можете попробовать что-то вроде:

SET Image_Link=CONCAT('www.example.com',( SELECT file_url ... ))",$db);