2017-03-09 9 views
-1

このselect文はMySQLでは完全に機能しますが、私のwordpress PHPで使用しようとすると動作しません。私は問題がこれは(ネット上に見つかりました)だと思う:MySQLの文は、wordpressで動作しませんPHP

$ wpdb-> get_results()に1つのステートメントを渡すことができると思うので、SET変数を実際の値に置き換える必要があります。 SELECTステートメント内の変数に代入するのは問題ありません。事前に設定することはできます。

しかし、これを変更する方法はわかりません。誰でも助けてくれますか?

SET @maxp:=10; SET @point:[email protected]; SET @prev:=''; 
SELECT medlemsnr,navn,SUM(point) AS score 
FROM (SELECT IF ([email protected], @point:[email protected], @point:[email protected]) AS point,@prev:=art,navn,medlemsnr,art,maxvaegt 
FROM (SELECT medlemsnr,navn,art,MAX(vægt) AS maxvaegt FROM ct_storfanger_indberetninger WHERE YEAR(dato)=2017 GROUP BY medlemsnr,navn,art ORDER BY art,maxvaegt DESC) l) s 
WHERE point>0 GROUP BY medlemsnr,navn ORDER BY score DESC 

私はこれをPHPで試しましたが、失敗します。$ samletstilling = $ wpdb-> get_results( "上記のステートメント");

答えて

0

わかりました....私は解決策を見つけた

$wpdb->get_results("SET @maxp:=10;"); 
$wpdb->get_results("SET @point:[email protected];"); 
$wpdb->get_results("SET @prev:='';"); 
$samletstilling = $wpdb->get_results(" 
SELECT medlemsnr,navn,SUM(point) AS score 
FROM (SELECT IF ([email protected], @point:[email protected], @point:[email protected]) AS point,@prev:=art,navn,medlemsnr,art,maxvaegt 
FROM (SELECT medlemsnr,navn,art,MAX(vægt) AS maxvaegt 
FROM ct_storfanger_indberetninger WHERE YEAR(dato)=2017 GROUP BY medlemsnr,art ORDER BY art,maxvaegt DESC) l) s 
WHERE point>0 GROUP BY medlemsnr ORDER BY score DESC"); 
関連する問題