Подскажите, имеется следующий код работы с PDO библиотекой: Код (Text): $sth = $dbh->prepare('insert into table1 set last_name=:last_name,pay=:pay'); $sth->bindParam(':last_name', $last_name, PDO::PARAM_STR, 2); $sth->bindParam(':pay', $pay, PDO::PARAM_BOOL); $last_name = "ТестТестТест"; $pay = "5000"; $res = $sth->execute(); Как я понимаю, в поле `last_name` должно в итоге сохраниться значение 'Те', а в поле `pay` значение '1'. Но сохраняются полные значения переменных, т.е. `last_name`='ТестТестТест' и `pay`='5000' Что я неправильно понимаю?
1. Объявление переменных должно идти до $sth->bindParam 2. Не уверен, но мне кажется, что запрос либо пройдёт санитизацию и вы получите ОР, либо запрос не пройдёт и будет ошибка.
помойму это справедливо только для bindValue(), а для bindParam() всеравно т.к. он привязывает не значение переменной, а переменную по ссылке. главное чтобы привязка была до execute() а что такое `санитизация` и `OP`? А запрос проходит, но вставляются не те значения, которые я ожидаю.