⊗ppSpPDNP 62 of 83 menu

PHP에서 PDO의 플레이스홀더 자동 따옴표 감싸기

기술적으로 PDO는 삽입되는 모든 값을 실제로 숫자인 경우라도 문자열로 간주하여 따옴표로 감쌉니다. 이는 SQL 구문상 허용됩니다. 따라서 값이 문자열인 경우 플레이스홀더를 따옴표로 감쌀 필요가 없습니다.

예제를 통해 살펴보겠습니다. 변수에 문자열이 저장되어 있다고 가정해 봅시다:

<?php $name = 'name1'; ?>

이 경우 위치 지정 플레이스홀더를 문자열로 감쌀 필요가 없습니다:

<?php $sql = 'SELECT * FROM users WHERE name=?'; $res = $pdo->prepare($sql); $res->execute([$name]); ?>

명명된 플레이스홀더도 마찬가지로 문자열로 감쌀 필요가 없습니다:

<?php $sql = 'SELECT * FROM users WHERE name=:name'; $res = $pdo->prepare($sql); $res->execute(['name' => $name]); ?>

그러나 쿼리에서 항상 문자열이 된다는 사실은 구문상 반드시 숫자여야 하는 경우 SQL 구문 문제를 일으킬 수 있습니다. 이런 경우에는 다음 강의에서 다룰 매개변수 바인딩의 대안 방법을 사용할 수 있습니다.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부