是否可以通过PDO语句中的编号绑定MySQL ENUM类型,如:
$stm = $pdo->prepare( "insert into `my_table` (`id`, `enum_type`) values (?, ?)");
$stm->bindParam( 1, $id, PDO::PARAM_INT);
$stm->bindParam( 2, $number, PDO::PARAM_INT);
........`
PDO::PARAM_STR
对于枚举值应该是安全的,因为我相信它们是以基于字符串/字符串的数据类型存储在数据库本身中的。
事实上,对于未指定的参数类型,PDO默认为PDO::PARAM_STR
,这在其签名中是可见的:
public PDOStatement::bindParam(
string|int $param,
mixed &$var,
int $type = PDO::PARAM_STR,
int $maxLength = 0,
mixed $driverOptions = null
): bool