mysqli_stmt::bind_param():类型定义字符串中的元素数量与绑定变量的数量不匹配,无法更新

2024-04-18

我在提交或更新此数据时遇到问题。数据无法更新。

这段代码:

if(isset($_GET['newsid'])){
    if(isset($_POST['submit'])){
        $sql = $connect->prepare("UPDATE news  set title =?, short_desc =?, isi =?, author =?, status =?,  date_period_start =?,  date_period_end =?, category =? WHERE newsid =?");
        $sql->bind_param('aaaaa', 
          $title,$short_desc,$isi,$author,$status,
         $date_period_start, $date_period_end, $category);
        $title = $_POST['title'];
        $short_desc = $_POST['short_desc'];
        $isi = $_POST['isi'];
        $author  = $_POST['author'];
        $status = $_POST['status'];
        $date_period_start = $_POST['date_period_start'];
        $date_period_end = $_POST['date_period_end'];
        $category = $_POST['category'];

        if($sql->execute()){
          echo "<script>location.href='index.php'</script>";
        }else{
          echo "<script>alert('".$sql->error."')</script>";
        };
}

$res =$connect->query("SELECT newsid, title, short_desc, isi, author, status, date_period_start, date_period_end, category from news
  where newsid=".$_GET['newsid']);
$row = $res->fetch_assoc();

?>
            <div class="container">
              <div class="row">
                <h2>UPDATE</h2>
              </div>
              <div class="row">


                <form role="form" method="post" action="">
                  <input type="hidden" value="<?php echo $row['newsid'] ?>" name="newid"/>
                  <div class="form-group">
                    <label>Category : </label>
                    <input type="text" name="category" id="category" value="<?php echo $row['category']  ?>"> <br><br>
                  </div>
                  <p>
                   <label> Title : </label>
                   <input name="title" id="title" size="40" maxlength="255" value="<?php echo $row['title']  ?>"/>
                   <p/>
                   <p>
                    <label> Author : </label>
                    <input name="author" id="author" size="40" maxlength="255" value="<?php echo $row['author']  ?>"/>
                    <p/>
                    <br/>
                    <p><label>Short Description : </label> 
                      <textarea  name="short_desc" id="short_desc" value="<?php echo $row['short_desc']  ?>">
                      </textarea>
                    </p>
                    <br>
                    <p>
                      <label>Description: </label>
                      <textarea name="isi" id="isi" rows="7" cols="90" value="<?php echo $row['isi'];  ?>"></textarea>
                    </p>
                    <br/>
                    <p>
                     <label> Status: </label>
                     <input type="text" name="status" id="status" value="<?php echo $row['status']  ?>"/> <br><br>
                     <p/>
                     <p>
                      <label> Display Periode </label>

                      <input type="text" id="date_period_start" name="date_period_start" value="<?php echo $row['date_period_start']  ?>"/>
                      <input type="text" id="date_period_end" name="date_period_end" value="<?php echo $row['date_period_end']  ?>"/>
                      <input type="checkbox" name="cek" value="yes"/><br><br>
                    </p> 

                    <button type="submit" name="submit" class="btn btn-default">Submit</button>
                  </form>
          <?php
        }
          ?>

我得到的输出:

mysqli_stmt::bind_param(): Number of elements in type definition string doesn't match number of bind variables .

并且还发出此警报:no data supplied for parameters in prepared statement.

实际上,我无法更新数据。

请帮我解决这个代码。我更新的时候没发现什么错误

Thanks.


查看您的 SQL Update 语句

UPDATE news  set title =?, short_desc =?, isi =?, author =?, status =?, category =? WHERE newsid =?

我可以数出 7 个参数。当我看着你的时候bind_param call

$sql->bind_param('aaaaa', 
     $title,$short_desc,$isi,$author,$status,
     $date_period_start, $date_period_end, $category);

我数了 5 个字符('aaaaa')和8个参数($title, $short_desc, $isi, $author, $status, $date_period_start, $date_period_end, $category)。这些all需要匹配。阅读this http://php.net/manual/en/mysqli-stmt.bind-param.php可能有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysqli_stmt::bind_param():类型定义字符串中的元素数量与绑定变量的数量不匹配,无法更新 的相关文章

  • 如何将服务器端 Shiny 应用程序嵌入到 JSP 页面中而不将该应用程序暴露在其他地方

    我有一个闪亮的应用程序 我想将其嵌入到托管在 Amazon AWS 上的 Java 8 Web 服务器的页面中 注意 我说 嵌入 是因为网络服务器中的大多数页面共享一个公共侧边栏和页脚 这会自动应用于大多数视图 这样 jsp 文件只需为页面
  • PHP,文本从数据库中回显,没有换行,全部一体

    我的数据库中有一个长文本 从 php mayadmin 来看它看起来很好 但是当我将它回显到页面时 它会丢失所有格式 即没有新行 全部都在一个块中 有任何想法吗 Thanks 可能是因为换行符是 n 并且 html 想要 br 所以使用nl
  • CSS 选择器:Active 不适用于 IE8 中的子元素单击

    我有以下 HTML 结构 div class wrapper div class control clickable img src logo png div div 以及以下 CSS control border 1px solid 00
  • MySQL:“您的 SQL 语法错误...靠近键...”? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我发现了一个非常酷的用于丢失密码的脚本 但是这一行给我带来了问题 r mysql query INSERT INTO keys u
  • 我的 PHP 代码不会将记录插入到 mySQL 数据库表中[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我的网站上
  • 对更改运行 PHPUnit 测试

    每当磁盘上的文件发生更改时 我想运行 PHPUnit 测试 或至少其中的一个子集 与您可以使用 进行的操作非常相似 咕噜手表 https github com gruntjs grunt contrib watch blob master
  • Bootstrap 标签栏平滑移动导航按钮

    我有一个用于切换块的普通引导选项卡面板 在导航中切换块时 活动选项卡会突出显示 但现在 当我单击活动选项卡的背景时 它会立即发生变化 是否可以使切换选项卡时背景不会立即改变 而是根据需要哪个选项卡而平滑地左右移动 这可以用以下方法完成吗cs
  • HTML 和 标签有什么区别?

    HEAD 标签和 BODY 标签有什么区别 大多数 HTML 书籍仅 简短 提及 and 标签 但它们消失得很快 它们会影响浏览器呈现网页的方式吗 另外 它们会影响 javascript 的运行顺序吗 我的意思是 如果我里面有一个javas
  • 如何在PHP中将图像从内存上传到AWS S3?

    所以我目前有一个使用 AWS S3 上传图像的上传系统 这是代码 Upload image to S3 s3 Aws S3 S3Client factory array key gt mykey secret gt myskey try s
  • Rails、REST 架构和 HTML 5:带有预检请求的跨域请求

    在致力于使我们的网站 HTML 5 友好的项目时 我们渴望采用跨域请求的新方法 不再通过隐藏的 iframe 发布 使用访问控制 http www w3 org TR access control 根据规范 我们开始设置一些测试来验证各种浏
  • 如何使用多个数据库设置 symfony 3 学说迁移?

    我在验证和更新模式时努力让 symfony doctrine 排除数据库视图 我第一次尝试没有教条迁移 看到这个问题 https stackoverflow com questions 46775200 symfony 3 doctrine
  • 中有样式表 吗?

    在内部链接 CSS 文件是一个坏主意吗 body 我读过 如果浏览器在外部找到另一个 CSS 文件 则它会被迫重新开始 CSS 渲染 head 只是因为它可能需要将样式应用于已经渲染的元素 另外 我认为 HTML 无法正确验证 我需要确认这
  • 如何检查号码是否是巴基斯坦用户的手机号码而不是固定电话号码

    我所做的是从开头删除 92 或 0092 并使用以下代码检查它是否是巴基斯坦人的有效手机号码 if preg match 3 0 4 0 9 number 1 Pakistani mobile number else not a pakis
  • __callStatic():从静态上下文实例化对象?

    我对 PHP 中的 静态 和 动态 函数和对象如何协同工作感到困惑 特别是在 callStatic 方面 callStatic 的工作原理 您可以有一个普通的班级 MyClass 在班级内您可以 放置一个名为 callStatic 的静态函
  • 如果选中复选框则显示 div

    我正在尝试构建类似 WordPress 选项的东西 用于在创建文章时切换字段可见性 我所构建的依赖于 click函数使用相应的字段名称切换父项 我想知道如果选中该复选框 执行此操作的最佳方法是什么 因为如果您选中一个框并重新加载页面 因为它
  • MYSQL 的 Google OAuth 2.0 用户 ID 数据类型

    我正在实施 Google OAuth 2 0 并注意到 Google OAuth 返回的唯一用户 ID 是21位数字长的 我想大整数 20 足以满足这种需求 但我现在看到 Google OAuth 返回的用户 ID 的长度感到困惑 关于我应
  • 使用 File API polyfill 读取数据 URL

    我正在尝试使用文件 API 库 https github com mailru FileAPI https github com mailru FileAPI 作为不支持文件 API 的浏览器的后备 以便将文件作为数据 URL 读取并将其传
  • 区分 NaN 输入和输入类型为“number”的空输入

    我想使用 type number 的表单输入 并且只允许输入数字
  • 水平和垂直居中 div 位于页面中间,页眉和页脚粘在页面顶部和底部

    我正在尝试制作一个具有固定高度页眉和页脚的页面 页眉位于屏幕顶部 100 宽度 页脚位于底部 100 宽度 我想将一个具有可变高度内容的 div 居中放置在页眉和页脚之间的空间中 在下面的 jsfiddle 中 如果内容比空格短 它会起作用
  • HTML 表格 - 固定列宽和多个可变列宽

    我必须建立一个有 5 列的表 表格宽度是可变的 内容宽度的 50 有些列包含固定大小的按钮 因此这些列应该有一个固定大小 例如 100px 有些列中有文本 所以我希望这些列具有可变的列宽 例如 Column1 tablewidth sum

随机推荐