С помощью PHP вы не будете использовать операторы 'declare'. Вы должны использовать переменные для определения желаемых дат. Предположим, вы знаете, что знаете, что хотите использовать «9/9/2011» как d1 и «9/18/2011» как d2 (я также предполагаю, что вы используете Postgres, но pgsql может быть изменен в вашем модуле СУБД)
$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 вы знаете, это, по крайней мере, отправная точка.
Любая попытка будет оценена по достоинству. –
Wellllllll, вам нужно сначала попробовать что-нибудь! (PHP необходимо: подключиться к БД, создать запрос и сохранить в var, получить данные с помощью цикла) –
На каком уровне вы? Вы хотите абсолютные основы работы SQL-запросов в PHP? Или вы ищете более подробную помощь, чтобы этот конкретный запрос работал? – Iain