2011-09-29 25 views
0

所以我用這個代碼連接到MySQL並執行多個語句:PHP MySQL的多語句的作品在我的網頁,但不是在XAMPP

[email protected]_connect($host,$user,$pass,false,65536) or die("Can't connect"); 
mysql_select_db($base,$connect); 

連接時我這樣做:

mysql_query("CREATE TABLE IF NOT EXISTS tablename ...;\nINSERT INTO tablename ...;"); 

我使用此代碼執行包含上面相同代碼的備份文件(\ n =新行)。當我在我的網頁運行此腳本(託管服務器),它的工作原理,但在這裏我用的是XAMPP它顯示了一個錯誤我的本地計算機上:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO tablename' at line 2 

我已經檢查的php.ini,我有safe_mode = Offsql.safe_mode = Off了。

任何想法我錯過了什麼?

+0

刪除'\ n',因爲它不是有效的SQL令牌。 – Ben

+0

謝謝,但在文件中它是一個新的行,我輸入'\ n'只是爲了使它更簡單。無論如何,PHP實際上會將它轉換爲新行。 – PhpXp

回答

0

根據PHP手冊,mysql_query不支持多個查詢。然而,在評論中有一個人說,它有可能:

但是,似乎支持多個查詢。你只需要將flag 65536作爲mysql_connect的5參數(client_flags)。 (Source

在另一方面,人工只提到兩個參數的功能,所以我不知道我們應該傳遞的第三和第四個參數,如果這5人真正做的伎倆!

+0

您可能正在查看'mysql_query'手冊,'mysql_connect'函數確實有5個參數。我將這個nubmer傳遞給'mysql_connect',當我運行多個語句時,它在我的託管服務器上工作,但不在本地主機(XAMPP)上。 – PhpXp

+0

你是對的!現在感到愚蠢! – bfavaretto

相關問題