1. Prepared Statement
ㅇ prepare 문에서, sql 문을 실행하지 않은채 준비 만 해놓고,
- prepare 문 내에, ? 기호로 추후 입력될 값을 비워 놓게 됨
ㅇ execute 문에서, 나머지 중요 문자열을 변수 처리하면서 넘기면, 나중에 실행하는 것을 말함
ㅇ 일명, 동적 SQL 문이라고도 함
2. [PHP] Prepared Statement 실행 방식
※ SQL 인젝션 공격 등의 방어에 특히 유용
ㅇ PDO
- $pdo = new PDO(dsn, 'username', 'password');
- $stmt = $pdo->prepare('insert into books (book_name,book_price) values (?,?)');
- $stmt->execute('new_book_name','new_price');
ㅇ mysqli
- $dbi = new mysqli($host,$user,$password,$dbname);
- $stmt = $dbi->prepare('insert into books (book_name,book_price) values (?,?)');
- $stmt->bind_param('sd','new_book_name','new_price');
. s : String, i : Integer, d : Double, b : BLOB
- $stmt->execute();