2016-12-13 5 views
1

質問があります.PHPからMSSQLクエリを実行しようとしていますが、SQL SERVERで直接問合せを実行しましたが問題はありませんが、PHP PDOから問合せを実行すると、 「tは、サブクエリせずにクエリをテストし、すべての結果を取得し、私は問題なく結果を得たが、私は、サブクエリでそれを行う場合、私はどんな結果を得ることはありませんPHP PDOクエリからのSQLサブクエリ

完全なクエリは次のとおりです。

SELECT A.MATNR, B.MAKTX, C.EAN11, C.MEINH, C.HPEAN FROM FJBK.DBO.MARA AS A INNER JOIN FJBK.DBO.MAKT AS B ON A.MATNR = B.MATNR INNER JOIN FJBK.DBO.MEAN AS C ON A.MATNR = C.MATNR WHERE c.matnr = (select matnr from MEAN where ean11 = '.$articulo.') 

このようにクエリを実行すると:

SELECT A.MATNR, B.MAKTX, C.EAN11, C.MEINH, C.HPEAN FROM FJBK.DBO.MARA AS A INNER JOIN FJBK.DBO.MAKT AS B ON A.MATNR = B.MATNR INNER JOIN FJBK.DBO.MEAN AS C ON A.MATNR = C.MATNR WHERE c.matnr = 1000256 

結果が表示されます。

なしMSSQLの仕事に直接私は、クエリでPHPのVAR可能性が考えクエリに多くの時間をテストしたが、問題

は、サブクエリが戻り結果をdoesn't PHPからではなく、問題は、私はVisual Basic.NETアプリケーションでこの完全なクエリを使用し、正常に動作しています。

問題が変更してみてくださいPHP

+0

あなたはこの質問の英語翻訳もしていますか? – Dragos

答えて

0

から主要なクエリでサブクエリを実行します:

where ean11 = '\'.$articulo.'\') 

たり、SQLを含めると

を使用するように、二重引用符を使用する

where ean11 = '.$articulo.' 

$sSQL = "SELECT A.MATNR, B.MAKTX, C.EAN11, C.MEINH, C.HPEAN FROM FJBK.DBO.MARA AS A INNER JOIN FJBK.DBO.MAKT AS B ON A.MATNR = B.MATNR INNER JOIN FJBK.DBO.MEAN AS C ON A.MATNR = C.MATNR WHERE c.matnr = (select matnr from MEAN where ean11 = '".$articulo."')"; 
+0

ありがとう、私の友人!私はこの問題を解決しようとしている頭痛を2日持っていた!私は二重引用符を使用し、これは私の問題を解決!どうもありがとう!! –