使用 html 表单将数据插入到 wordpress 表中

Posted

技术标签:

【中文标题】使用 html 表单将数据插入到 wordpress 表中【英文标题】:Inserting data into wordpress table using a html form 【发布时间】:2018-10-31 14:47:53 【问题描述】:

我尝试了几个小时来解决我认为是一个简单的问题,但仍然没有进一步......

下面是我将 3 个字段输入到名为“std”的 wordpress 自定义表中的代码。不知道是连接问题还是我的代码错了!当我单击提交时,我只是收到“数据库插入失败”消息,但我不知道为什么。

<?php

   /*
   Template Name:ProRata
   */

   //get_header();

    if($_POST['Submit'])


    global $wpdb;

    require_once('wp-config.php');

    $name=$POST['aname'];
    $roll=$POST['aroll'];
    $dept=$POST['adept'];

    $tablename = $wpdb->prefix.'std';

    if($wpdb->insert(
    $tablename,

    array(


    'name'=> $name,
    'roll'=> $roll,
    'dept'=> $dept
    )


    ) ==false) wp_die('databse insertion failed');
    else echo 'Database insertion completed</p>';

    ?>
    <?php
    
    else // if form has not yet been submitted
    
    ?>
    <br>

    <form action="" method="post">
    <label>Leave: Type of leave </label>

    <label> aname </label>
    <input type="text" name="aname"><br><br>
    <label> Leave: Start Date </label>
    <input type="text" name="aroll"><br><br>
    <label> Leave: End Date </label>
    <input type="text" name="adept"><br><br>
    <input type="submit" name="Submit"><br>

    </form>
    <?php

    

    ?>

【问题讨论】:

您不需要包含wp-config.php。您可以通过$wpdb-&gt;last_query 查看上次运行的查询。它会让你知道你做错了什么。 感谢您的浏览! wp-config 用于测试它是否是数据库问题----应该在这篇文章中删除它。 $wpdb->last_query 给了我以下我认为不相关的信息(可能是错误的)... SELECT option_value FROM wpob_options WHERE option_name = 'wppb_private_website_settings' LIMIT 1 【参考方案1】:

我不确定这是否能完全解决您的问题,但您在存储 $_POST 值时缺少下划线 (_)。您需要将这些行更改为以下内容:

$name=$_POST['aname'];
$roll=$_POST['aroll'];
$dept=$_POST['adept'];

【讨论】:

感谢您抽出宝贵的时间贾斯汀。我已经更正了下划线,但唉,仍然没有解决......【参考方案2】:

终于找到答案了……

Change this
$name=$POST['aname'];
$roll=$POST['aroll'];
$dept=$POST['adept'];

$tablename = $wpdb->prefix.'std';

With this
$name=$_POST['aname'];
$roll=$_POST['aroll'];
$dept=$_POST['adept'];

$tablename = 'std';

插入错误是因为它试图插入表“wp_std”,假设您的 wordpress 上的前缀是 wp_ 或任何前缀。我还用 $_POST 更改了 $POST,因为即使插入为 true,它也会插入空值,因为 $POST 不存在,除非您声明它,正确的全局变量是 $_POST

【讨论】:

以上是关于使用 html 表单将数据插入到 wordpress 表中的主要内容,如果未能解决你的问题,请参考以下文章

使用表单插入 PhoneGap 数据库

将表单数据插入 MySQL?

通过表单将数据从一个表插入到另一个表

将html选择表单的值插入mysql数据库

通过html和php表单将数据插入MySQL数据库时遇到问题[重复]

使用 NodeJS Express 时将表单数据插入 MySQL 数据库