0
我要做的是從兩個mysql表中選擇列。 此查詢不從php腳本(我需要s.opis列)工作:表別名不能從php工作
$SQL="SELECT h.dzien, h.sektor, s.opis, h.start, h.stop, h.p, h.reg_date FROM harmonogram h,sektory s WHERE h.sektor=s.sektor AND h.dzien='".$dzien."' AND h.start='".$start."' ORDER BY h.dzien, h.sektor, h.start, h.stop;";
$wynik = mysql_query($SQL)
or die('Błąd zapytania');
,但是,當我在MySQL數據庫運行SQL直接,它工作正常。
mysql> SELECT h.dzien, h.sektor, s.opis, h.start, h.stop, h.p, h.reg_date FROM harmonogram h,sektory s WHERE h.sektor=s.sektor AND h.dzien='Sun' AND h.start='08:00' ORDER BY h.dzien, h.sektor, h.start, h.stop; +-------+--------+------+----------+----------+---+---------------------+ | dzien | sektor | opis | start | stop | p | reg_date | +-------+--------+------+----------+----------+---+---------------------+ | Sun | 1 | tyl | 08:00:00 | 08:15:00 | 0 | 2017-03-01 20:23:35 | +-------+--------+------+----------+----------+---+---------------------+ 1 row in set (0.00 sec)
這是工作正常查詢的以前的版本,但它並沒有顯示OPIS列
$SQL="SELECT dzien, sektor, start, stop, p, reg_date FROM harmonogram WHERE dzien='".$dzien."' AND start='".$start."' ORDER BY dzien, sektor, start, stop;";
$wynik = mysql_query($SQL)
or die('Błąd zapytania');
我認爲這個問題可能是與aliasess。
對此有幫助嗎?
您需要停止使用'mysql_ *'功能。它們已被棄用多年,甚至不存在於當前的PHP版本中。請研究一下[PHP數據對象](http://php.net/manual/en/book.pdo.php),簡稱PDO,用於更現代的方法。 – sidyll
你確定輸入的數據是一樣的嗎?我在PHP腳本的SQL字符串中看到插值。另外,你如何使用這些數據?你是如何斷定它「不起作用」的?你收到任何錯誤? – sidyll
我回應$ SQL並複製粘貼到MySQL。我從死命令得到錯誤信息。 – bzc0fq