设置$\u post变量(php)的bindparam字符串长度

scyqe7ek  于 2021-06-25  发布在  Mysql
关注(0)|答案(0)|浏览(214)

这个问题在这里已经有答案了

在mysql中何时使用单引号、双引号和反引号(13个答案)
我的pdo声明不起作用(1个答案)
两年前关门了。
我正在尝试使用另一个页面的输入,使用$\u post和一个准备好的语句,将值插入到mysql表中。我的理解是,您需要为插入的每个变量使用bindparam函数,因为您不能在mysql查询中使用变量。
我的问题是bindparam函数需要绑定的变量的长度,而变量的值是未知的,因为它是由用户输入决定的。
是否必须为要分配参数的变量的字符串长度创建一个变量?

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(
);
}

谢谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题