2016-09-01 8 views
-3

私はPHPで次のSQLコードを実行し、結果を変数に格納したい:PHPでSQLの複数行のクエリを実行するには?

declare @d1 datetime, @d2 datetime 
select @d1 = '9/9/2011', @d2 = '9/18/2011' 

select datediff(dd, @d1, @d2) - (datediff(wk, @d1, @d2) * 2) - 
    case when datepart(dw, @d1) = 1 then 1 else 0 end + 
    case when datepart(dw, @d2) = 1 then 1 else 0 end 

任意の助けをいただければ幸いです。ありがとう!

+1

いずれかの試みが認められるでしょう。 –

+1

Wellllllll、何かを試してみる必要があります! (PHPの必要性:DBに接続し、クエリを作成してvarに格納し、ループでデータを取得する) –

+1

あなたはどのレベルですか? PHPでSQLクエリを実行するための絶対的な基本が必要ですか?または、この特定のクエリを動作させるための詳細なヘルプをお探しですか? – Iain

答えて

1

PHPでは、 'declare'ステートメントは使用しません。変数を使用して、必要な日付を定義します。 '9/9/2011'をd1、 '9/18/2011'をd2としたいと思っているとします(Postgresを使用していると仮定しますが、pgsqlはDBMSエンジンに変更することができます)

$dbConnection = new PDO('pgsql:host=<db_host>;dbname=<db_name>;user=<db_username>;password=<db_password>'); 

$d1 = '9/9/2011'; 
$d2 = '9/18/2011'; 

$query = "select datediff(dd, :date_one, :date_two) - (datediff(wk, :date_one, :date_two) * 2) - 
case when datepart(dw, :date_one) = 1 then 1 else 0 end + 
case when datepart(dw, :date_two) = 1 then 1 else 0 end"; 

$statement = $dbConnection->prepare($query); 
$statement->bindParam('date_one',$d1); 
$statement->bindParam('date_two',$d2); 

$statement->execute(); 

$results = $statement->fetch(); 

これを試してください。ここで何を達成しようとしているのか、あなたが知っているPHP/SQLのレベルを正確に知らなくても、これは少なくとも出発点です。

関連する問題