1
我正在嘗試編寫一個插入現有Access數據庫的PHP腳本。如果我從頭開始,我會用MySQL來完成這項工作,但是因爲現在有一個MS Access應用程序,所以我堅持使用數據庫。JOIN不能使用PHP + ODBC + Microsoft Access
截至目前,我正試圖讓下面的PHP代碼工作。
$conn=odbc_connect('buju','','');
if (!$conn)
{
exit("Connection Failed: " . $conn);
}
$sql="SELECT *
FROM Teilnehmer
INNER JOIN TeilnWerte ON Teilnehmer.LfdNr = TeilnWerte.Teilnehmer
WHERE Teilnehmer.Klasse = '$_POST[klasse]'";
$rs=odbc_exec($conn,$sql);
echo "\nErrorCode:\n".odbc_error($conn);
echo "\nErrorMessage:\n".odbc_errormsg($conn);
我敢肯定,這個問題是在SQL查詢,因爲這一切工作正常,如果我只做
SELECT * FROM Teilnehmer WHERE Klasse = '$_POST[klasse]'
沒有試圖加入第二個表。
我正在使用odbc和Microsoft Access驅動程序。我得到的錯誤代碼是07001
。該錯誤信息是
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
我也曾嘗試
SELECT *
FROM Teilnehmer, TeilnWerte
WHERE Teilnehmer.LfdNr = TeilnWerte.Teilnehmer
AND Teilnehmer.Klasse = '$_POST[klasse]'
這也不能工作。
有什麼我做錯了嗎?是否有某些SQL命令,不工作
我其實也有。只留下'echo $ sql;'和一些其他部分,以提高可讀性。 輸出正是我所期待的:'SELECT * FROM Teilnehmer INNER JOIN TeilnWerte ON Teilnehmer.LfdNr = TeilnWerte.Teilnehmer WHERE Teilnehmer.Klasse =「06A'' – 2013-04-04 22:05:24
谷歌搜索此錯誤消息表明,它通常出現在現場的一個時查詢中的名稱不正確。當你嘗試查詢'SELECT Teilnehmer FROM TeilnWerte'時會發生什麼? – mickfold 2013-04-04 22:20:09
某些舊版本的Access有時可能會針對您的JOIN周圍的圓括號。不知道是否是這種情況,但認爲我會提到它。 – sgeddes 2013-04-04 22:22:46