Для простоты, скажем, у нас есть довольно надуманная таблица:
[ID] [Weekday] [Weather]
1 Sun Cloudy
2 Mon Sunny
... ... ...
8 Sun Cloudy
... ... ...
15 Sun Windy
И я бью эту таблицу за наборы данных. Иногда мне нужны данные на основе дня недели, иногда на основе погоды. Поэтому я создаю этот класс:
class weather {
public static function reportByDay($weekday) {
return self::weatherServer('Weekday',$weekday);
}
public static function reportByWeather($weather) {
return self::weatherServer('Weather', $weather)
}
private static function weatherServer($reportType, $value) {
$q = "SELECT ID, Weekday, Weather
FROM table
WHERE $reportType = $value";
$r = mysql_query($q);
etc etc.
return $results;
}
}
Итак, я хотел преобразовать это в PDO, но обнаружил сегодня утром, что структура WHERE :field = :thing
не работает ... по крайней мере, я не могу заставить ее работать.
Если я выделю столбец, то WHERE Weather = :thing
, тогда он будет работать хорошо ... но я просто потерял удобство исходной структуры класса, потому что мне пришлось бы печатать все эти специализированные запросы ... и Есть много для моего реального набора данных и структуры таблицы.
Есть ли в PDO способ использования параметров для столбцов? или параметры могут использоваться только для значений?