我正在尝试使用$ _POST和预准备语句使用来自另一个页面的输入将值插入到mysql表中。我的理解是你需要为每个插入的变量使用bindParam函数,因为你不能在mysql查询中使用变量。
我的问题是bindParam函数需要绑定变量的长度,而变量的值是未知的,因为它是由用户输入决定的。
我是否必须为要为其分配Param的变量的字符串长度创建变量?
if(isset($_POST['name_input'])) {
$name = $_POST['name_input'];
$genre = $_POST['genre_input'];
$size = $_POST['size_input'];
$rating = $_POST['rating_input'];
$date = $_POST['date_input'];
}
if(!empty($name)) {
$addedQuery = $db->prepare(
"INSERT INTO `torrent_list` (`movie_name`,
`movie_genre`,`file_size`, `rating`,
`release_date`) VALUES (NULL, ':name', ':genre', ':size', ':rating',
':date')");
$addedQuery->bindValue(':name', $name, PDO::PARAM_STR);
$addedQuery->bindValue(':genre', $genre, PDO::PARAM_STR);
$addedQuery->bindValue(':size', $size, PDO::PARAM_STR);
$addedQuery->bindValue(':rating', $rating, PDO::PARAM_STR);
$addedQuery->bindValue(':date', $date, PDO::PARAM_STR);
$addedQuery->execute(
);
}
感谢。