2016-08-05 43 views
1

我需要用這個PHP查詢:

INSERT INTO table1(id,picture) SELECT id, $var.picture from table2 

其中$ var爲 「http://example.com/images/」。

例(前):

ID = 1 
picture = 'flower.jpg' 

例(後):

ID = 1 
picture = 'http://example.com/images/flower.jpg' 

我怎樣才能在SELECT $ var和圖片加入(逗號不工作)..

回答

0

您可以使用concat($var, '.picture')

但是,你不應該那樣做。相反,您應該將$var值作爲參數傳遞給查詢。我會連接應用程序端的值,但您也可以使用concat()和一個參數。

1

如果我明白你的問題正確這應該做的伎倆:

INSERT INTO table1(id,picture) SELECT id, CONCAT($var, picture) FROM table2 
+0

它會生成語法錯誤。所以我使用: INSERT INTO table1(id,picture)SELECT id,CONCAT('http://example.com/images/',picture)FROM table2 – user6618901

0

您可以執行它的PHP端。簡單實例化一個臨時變量,它將包含使用正確格式的列sprintf()

// Get the data 
$id   = 1; 
$var  = 'http://example.com/images/'; 
$picture = 'flower.jpg'; 
$column  = sprintf('%s%s', $var, $picture); 

// Set the query 
$query = sprintf(' INSERT INTO table1 (id, picture) 
          SELECT  %s, %s 
          FROM   table2;', $id, $column); 
+0

由於您不使用準備好的查詢,我還建議使用'addslashes()'爲你的字符串,以防止格式錯誤的查詢。 –