无效的参数编号:绑定变量的数量与令牌的数量不匹配 [英] Invalid parameter number: number of bound variables does not match number of tokens
本文介绍了无效的参数编号:绑定变量的数量与令牌的数量不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我收到了关于类的任务的错误消息。我创建了一个UPDATE,它使用表单为用户编辑从上一页的数据库打印出来的内容。
I am getting this error message on an assignment for class. Ive created an UPDATE which uses forms for a user to edit the content being printed out from a database on the previous page.
我得到Invalid parameter number:bound of number变量与第14行中的标记数量不匹配
I am getting Invalid parameter number: number of bound variables does not match number of tokens on line 14
<?
require '../connection.php';
if (isset($_POST['save'])) {
$sql = "UPDATE videoinfo
SET submitter = :submitter,
videoTitle = :videoTitle,
channelName = :channelName,
videoLink = :videoLink
WHERE videoId = :videoId";
$stmt = $dataconn -> prepare($sql);
$stmt -> execute( array(":submitter" => $_POST['submitter'],
":videoTitle" => $_POST['videoTitle'],
":channelName" => $_POST['channelName'],
":videoLink" => $_POST['videoLink']) );
echo "Record Updated";
echo "<br />";
include 'adminmain.php';
} else {
$sql = "SELECT *
FROM videoinfo AS v
WHERE videoId = :videoId";
$stmt = $dataconn -> prepare($sql);
$stmt -> execute( array(":videoId" => $_POST['videoId']) );
$video = $stmt->fetch();
}?>
<html>
<?
if (isset($_POST['update'])) {
?>
<form method="post">
Submitter: <input type="text" name="submitter" value="<?= $video['submitter'] ?>" /> <br />
Video Title: <input type="text" name="videoTitle" value="<?= $video['videoTitle'] ?>" /> <br />
Channel Name: <input type="text" name="channelName" value="<?= $video['channelName'] ?>" /> <br />
Video Link: <input type="text" name="videoLink" value="<?= $video['videoLink'] ?>" /> <br />
<input type="hidden" name="videoId" value="<?= $video['videoId'] ?>" />
<input type="submit" value="Save" name="save" />
</form>
<?
}//endIf
?>
</html>
推荐答案
给他们。您错过了:videoId
的价值。
You have five bound parameters but are only binding four values to them. You're missing your value for :videoId
.
$sql = "UPDATE videoinfo
SET submitter = :submitter,
videoTitle = :videoTitle,
channelName = :channelName,
videoLink = :videoLink
WHERE videoId = :videoId";
$stmt = $dataconn -> prepare($sql);
$stmt -> execute( array(":submitter" => $_POST['submitter'],
":videoTitle" => $_POST['videoTitle'],
":channelName" => $_POST['channelName'],
":videoLink" => $_POST['videoLink'],
":videoId" => $_POST['videoId']
)
);
这篇关于无效的参数编号:绑定变量的数量与令牌的数量不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文