2012-04-26 30 views
3

我想寫我的MySQL查詢,但我卡在這一點 - 我有我的PHP到SQL數據庫的多個查詢:SET @var:= SELECT * FROM表名:是否有可能

SET @var := SELECT MAX(first_column) 
    FROM table; 

SELECT @var, 
    table.second_column 
FROM table; 

但它返回SQL錯誤。當我在phpmyadmin中使用它時,它工作正常。我已經google了一下,我發現人們只能在存儲過程中使用「SET @var = MySQL query」。有可能以我想要的方式使用它嗎?

+0

誰給你錯誤?也許PHP不能運行兩個查詢? – 2012-04-26 21:44:20

+0

可能重複的[mysqli多個查詢 - 設置變量產生布爾錯誤/如何跳過這?](http://stackoverflow.com/questions/1227022/mysqli-multiple-queries-set-variable-produces-boolean-error-如何跳過 - 這) – mellamokb 2012-04-26 21:52:14

+0

會很高興知道什麼是SQL錯誤文本.... – 2012-04-26 22:50:11

回答

6

如果您正在運行多個查詢(即您的查詢中有;),則需要將其作爲兩個單獨的查詢運行,或者使用像mysqli_multi_query這樣的命令。 mysql_query命令一次只能運行一個查詢。

mysql_query('SET @VAR := SELECT MAX(first_column) FROM TABLE'); 
mysql_query('SELECT @var, table.second_column FROM table'); 

另請參閱this related question

+0

謝謝,我不知道可能只有一個查詢。我試圖做出多個查詢,因爲我認爲它會比單獨的查詢稍微快一點。 – suricactus 2012-04-26 22:14:17

1
SELECT MAX(first_column) INTO @var FROM table; 
SELECT @var,table.second_column FROM table; 
相關問題