Мне было интересно, есть ли способ сделать следующее, что не выдает мне ошибку. Кто-нибудь сможет объяснить, почему следующее невозможно, и как я могу это осуществить?
Вот функция:
public function getTaxClass()
{
$arg = func_get_args();
$pid = array_shift($arg);
$imp = implode(',',$arg);
$stmt = _DB::init()->prepare("SELECT $imp
FROM tax_class a
INNER JOIN products_to_tax_class pa ON a.tid = pa.tid
WHERE pa.pid = ?"
);
if($stmt->execute(array($pid)))
return $stmt->fetch(PDO::FETCH_ASSOC);
}
Я не могу вставить переменную в подготовленный оператор? Я пытался создать строку перед добавлением в приготовление, но все равно получаю следующее предупреждение:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'tid' in field list is ambiguous' in /class.php:89 Stack trace: #0 /class.php(89): PDOStatement->execute() #1 /class.php(98): _Class->getTaxClass(1, 'tid', 'name', 'rate') #2 {main} thrown in/class.php on line 89