
SQLite3Stmt::bindValue는 파라미터의 자료형을 자동으로 변환하지 않습니다.
바인딩된 파라미터의 자료형은 PHP에서 지정한 자료형과 SQLite의 자료형이 일치해야 합니다.
예를 들어, PHP의 int 자료형은 SQLite의 INTEGER 자료형과 일치하므로 자동으로 변환됩니다.
그러나 PHP의 string 자료형은 SQLite의 TEXT 자료형과 일치하므로 자동으로 변환됩니다.
하지만 PHP의 float 자료형은 SQLite의 REAL 자료형과 일치하므로 자동으로 변환됩니다.
이러한 이유로, 바인딩된 파라미터의 자료형을 명시적으로 지정하는 것이 좋습니다.
예를 들어, 다음과 같이 바인딩된 파라미터의 자료형을 명시적으로 지정할 수 있습니다.
#hostingforum.kr
php
$stmt = $db->prepare('SELECT * FROM users WHERE age = :age');
$stmt->bindValue(':age', 25, PDO::PARAM_INT);
이러한 방법으로, 바인딩된 파라미터의 자료형을 명시적으로 지정할 수 있습니다.
2025-04-08 17:55