0
私がしなければならないことは、2つのmysqlテーブルから列を選択することです。テーブルaliasessは、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を実行すると、それが正常に動作します: このクエリは、PHPスクリプト(私はs.opis列を必要とする)から動作しません。
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)
これは正常に動作しますが、それは、私は問題がaliasessとなるかもしれないと思う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');
を示していないクエリの以前のバージョンです。
お願いします。 MacPrawnが
$wynik = mysql_query($SQL) or die(mysql_error());
を示唆して追加すること
あなたは 'mysql_ *'関数の使用をやめる必要があります。彼らは何年も非難されており、現在のPHPリリースには存在しません。要約すると、PDOと呼ばれる[PHP Data Objects](http://php.net/manual/en/book.pdo.php)について、より現代的なアプローチについて勉強してください。 – sidyll
入力データが同じですか?私はあなたのPHPスクリプトのSQL文字列内の補間を参照してください。また、どのようにデータを使用していますか?それが「うまくいかない」とあなたはどのように結論付けましたか?何かエラーがありますか? – sidyll
$ SQLをエコーして、それをmysqlにコピーします。私はdie commandからエラーメッセージを受け取りました。 – bzc0fq