2015-05-18 60 views
0

我檢查了我的數據庫,該視圖是用期望的結構創建的,但它是空的,沒有行。爲什麼我的SQL視圖是空的?

$view= $connexion->prepare("CREATE VIEW MP1 AS SELECT * FROM occupation_data WHERE onetsoc_code IN (".implode(',',$tupleasup).")"); 

這裏我陣列尋找什麼:

$tupleasup= array('19-1041.00','19-1042.00'); 

的唯一的事,我是用 「怪異」 是這樣的:How to use php array with sql IN operator?

謝謝

+1

而這個視圖是如何看待php處理的? – jarlh

+0

它具有所有良好列的預期結構,但它是空的 – goldiman

+0

任何錯誤?檢查他們?您使用哪種MySQL API連接?等等。?似乎你有一個語法錯誤,並沒有檢查它們。 http://php.net/manual/en/mysqli.error.php查詢是否使用mysqli_。很難說如果你使用的是或PDO的'setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION)' –

回答

2

你的破滅應該是這樣的:

$view= $connexion->prepare("CREATE VIEW MP1 AS SELECT * FROM occupation_data WHERE onetsoc_code IN ('".implode("','",$tupleasup)."')"); 

(每個項目都應該用引號括起來)

+0

工作就像一個魅力!謝謝 – goldiman

1

你忘了開始和結束單引號'

$view= $connexion->prepare("CREATE VIEW MP1 AS SELECT * FROM occupation_data WHERE onetsoc_code IN ('".implode('\',\'',$tupleasup)."')"); 

如果您迴應您的查詢就會是這樣的

CREATE VIEW MP1 AS SELECT * FROM occupation_data WHERE onetsoc_code IN (date1','date2); 

這是一種錯誤的語法,所以我加引號來完成查詢

+0

仍然沒有工作:( – goldiman

+0

如果這個答案是合適的接受答案。高興地幫助你:) –

+0

任何錯誤您正面臨 –