如何在php中运行sql多行查询?

时间:2016-09-01 12:57:24

标签: php mysql 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 个答案:

答案 0 :(得分:1)

使用PHP,您不会使用'声明'声明。您可以使用变量来定义所需的日期。让我们说你明确知道你想要使用' 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,这至少是一个起点。