这个问题在这里已经有答案了:
在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(
);
}
谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!