设置$ _POST变量的bindParam字符串长度(php)

时间:2018-01-08 22:54:31

标签: php mysql bindparam

我正在尝试使用$ _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(
);
}

感谢。

0 个答案:

没有答案