我一定在这里遗漏了什么,没有任何东西被发送到数据库。我只是想将此信息发送到 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"
));
- 2 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消