|
|
|
| пробовал
$res = $dbPDO->prepare('TRUNCATE menu?');
$res->execute(array('v'));
|
$res = $dbPDO->prepare('TRUNCATE menu:t');
$res->execute(array(':t'=>'v'));
|
$res = $dbPDO->prepare("TRUNCATE menu?");
$res->bindParam(1,$t);
$res->execute();
|
$res = $dbPDO->prepare('TRUNCATE menu:t');
$res->bindParam(':t',$t);
$res->execute();
| ни один из вариантов не срабатывает
$res = $dbPDO->prepare('TRUNCATE menuv');
$res->execute();
| так работает, но у меня две таблицы, и в одном случае скрипт должен "почистить" одну таблицу, в другом другую.
подскажите пожалуйста как менять имя таблицы при формировании запроса?
таблицы отличаются только последней буквой в названии. | |
|
|
|
|
|
|
|
для: f111
(24.09.2011 в 21:51)
| | В подготовленных выражениях нельзя использовать имена таблиц в качестве параметров. Более того, нельзя делить параметр на части.
<?
$menu = array('a', 'b', 'v');
foreach ( $menu as $char ) {
$dbPDO->exec('TRUNCATE TABLE menu'.$char);
}
|
| |
|
|
|
|
|
|
|
для: Саня
(25.09.2011 в 22:47)
| | а как можно посмотреть на собранный/подготовленный запрос после execute()?
или такое не возможно? | |
|
|
|
|
|
|
|
для: f111
(25.09.2011 в 23:40)
| | Невозможно. Собственно, запрос вообще никогда не собирается. Ни на этапе prepare, ни на этапе execute. Можно вручню заменять плейсхолдеры на нужные значения. | |
|
|
|
|
|
|
|
для: Саня
(25.09.2011 в 23:44)
| | спасибо | |
|
|
|