为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PHP 将一个简单的表单发布到 2 个表

使用 PHP 将一个简单的表单发布到 2 个表

PHP
守着星空守着你 2021-08-28 10:05:19
我一定在这里遗漏了什么,没有任何东西被发送到数据库。我只是想将此信息发送到 2 个表。更新一个并将新行插入另一个。我已经测试了数据及其正在收集的数据,并测试了仅发送到 1 个表但仍然没有发送任何信息。形式:  <div class="container"><center>    <form action ="<?php echo $_SERVER['REQUEST_URI']; ?>" method ="post">    <table class="form-table" id='student'>    <tbody>    <tr>    <th>Class</th>    <th>Assignment Id</th>    <th>Student Name</th>    <th>Grade</th>    </tr>    <?php foreach($students as $row){ ?>    <tr>    <input type="hidden" name="student_name" size="30" value="<?php echo "$row->student_name" ?>">    <input type="hidden" name="student_id" size="30" value="<?php echo "$row->student_id" ?>">    <td><Center><?php echo "$class"; ?></Center></td>    <td><Center><?php echo "$assign"; ?></Center></td>    <td><Center><?php echo "$row->student_name"; ?></Center></td>    <td><Center><input type="text" name="grade" size="15" placeholder="Points"></Center></td>    </tr>    <?php } ?>  </tbody>    </table>    <p class="submit"><Center><input type="submit" name="submitgrade" id="submitgrade" class="button button-primary" value="Submit" /></center></p>  </form>  </center></div>MYSQL 查询:  if ($_POST['submitgrade']){    global $wpdb;    $success = $wpdb->insert(             'sodae_grades',             array(             "student_name" => $_POST['student_name'],         "student_id" => $_POST['student_id'],         "class_of" => $class,             "assignment_name" => $assign,             "grade" => $_POST['grade']       )     );       $success2 = $wpdb->update(           'sodae_enrolled',           array(           "grade" => $_POST['grade']          ),          array(            "student_id" => $_POST['grade'] + $count          )        );这两个语句都返回未发布,并且数据库中没有任何内容。编辑:我试过定义('WP-DEBUG', true); 和 $wpdb->print_error(); 没有错误,我检查了其他表格,除了我使用 wp_insert_user 之外,没有任何表格发布,但这当然仅适用于用户输入。
查看完整描述

2 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

也许它没有识别表前缀。您还应该指定数据类型,如字符串 (%s) 或整数 (%d)。尝试这样的事情:


    global $wpdb;

    $table_name = $wpdb->prefix . 'sodae_enrolled';

    $wpdb->insert($table_name, array(

         "student_name" => $_POST['student_name'],

         "student_id" => $_POST['student_id'],

         "class_of" => $class,

         "assignment_name" => $assign,

         "grade" => $_POST['grade']

    ), array(

        "%s",

        "%s",

        "%s",

        "%s",

        "%s"

    ));



查看完整回答
反对 回复 2021-08-28
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

因此,通过使用 $wpdb->last_error 我能够修复一些链接到数据库中的字段的错误并修复一些拼写错误。一旦我有了错误指南,就可以轻松修复。


查看完整回答
反对 回复 2021-08-28
  • 2 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信