1

私はbindValueとexecute(array())を使用することの違いを知るように促してきました-y。

さて、私はこのコードの例を持っているとしましょう

$query = $db->prepare("SELECT embedded_page.uid FROM embedded_page WHERE fbp_id = :fbp_id");
$query->bindValue(":fbp_id", $fbp_id, PDO::PARAM_INT);
$query->execute();

これの違いは何ですか?

$query = $db->prepare('SELECT `embedded_page`.`uid`, `embedded_page`.`ticket_id`, `embedded_page`.`event_table` FROM `embedded_page` WHERE `fbp_id` = ?');
$query->execute(array($fbp_id));

コード行の保存に関係なく。

助けていただければ幸いです。

4

1 に答える 1

0

それはあなたの例ですでに説明されています.bindValueは、特別に定義されたPDO::PARAM_INTなどの形式で入力データ型を検証します。2 番目の例では、? を使用して準備するような条件はありません。(一部の内部検証は、string、int、および float 型を想定してエンジンによって実行される場合があります。) また、クエリの最初の形式のプレースホルダーとして変数が多い場合は、理解しやすくなります。

于 2013-03-24T04:51:05.843 に答える