PDOStatement :: выполнить с параметрами - PullRequest
2 голосов
/ 28 июня 2011

Эта страница действительно не понятна для функции: http://www.php.net/manual/en/pdostatement.execute.php

Я не совсем уверен, почему я бы связал bindParam, а не просто передавал массив. С bindParam мне нужно будет указать тип.

Итак, мой вопрос: если я просто сделаю $stmt->execute(array("somevalue", b'somebinarydata', 10203, 201.3));, будут ли типы автоматически распознаваться? Есть ли что-нибудь, о чем я должен знать?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 28 июня 2011

Итак, мой вопрос: если я просто сделаю $ stmt-> execute (array ("somevalue", b'somebinarydata ', 10203, 201.3)) ;, будут ли типы автоматически распознаваться?

Ответ Нет. В руководстве по PHP указано:

Массив значений с таким количеством элементов, сколько связанных параметров в выполняемой инструкции SQL. Все значения обрабатываются как PDO::PARAM_STR.

Страница с указанием сущности PDO::PARAM_STR состояния:

ПредставляетSQL CHAR, VARCHAR или другой строковый тип данных.

source: http://www.php.net/manual/en/pdo.constants.php

0 голосов
/ 28 июня 2011

Как сказано в документе, если вы хотите указать тип, вы делаете это заранее, например:

$sth->bindParam(':calories', $calories, PDO::PARAM_INT);

Пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...