Przygotowane instrukcje Php Wyłącz emulację
Czy są jakieś skutki uboczne wyłączania emulacji podczas używania przygotowanych instrukcji z pdo? Używam select * i ograniczam wyniki, które należy traktować jako int, a nie ciąg. Mogę zrobić jedną z dwóch rzeczy.
$conn->setAttribute( PDO::ATTR_EMULATE_PREPARES, false );
Lub powiązać te zmienne jawnie z typem param:
$stm = $pdo->prepare('SELECT * FROM table LIMIT ?, ?');
$stm->bindParam(1, $limit_from,PDO::PARAM_INT);
$stm->bindParam(2, $per_page,PDO::PARAM_INT);
$stm->execute();
$data = $stm->fetchAll();
Jakieś zalety lub wady? Oczywiście wyłączenie emulacji zaoszczędziłoby wiele oprawy.