如何将 HTML 表单中的数据保存到 WordPress 中的数据库表中?

Posted

技术标签:

【中文标题】如何将 HTML 表单中的数据保存到 WordPress 中的数据库表中?【英文标题】:How to save data from an HTML form to a database table in WordPress? 【发布时间】:2011-07-14 13:51:11 【问题描述】:

我有一个 WordPress 主题,我正在尝试将 html 表单中的数据保存到数据库中。

我制作了 HTML 表单并添加了一个“保存并关闭”按钮,该按钮调用了一个名为 saveData()javascript 函数,该函数从表单中获取数据并将其发送到 addrow.php,它应该将数据保存到数据库表中命名为vel

我认为问题出在addrow.php,因为在 WordPress 中,需要使用全局 $wpdb 或其他东西。

关于如何将 HTML 表单中的数据保存到 WordPress 驱动的应用程序中的数据库表中的简单示例是什么?

addrow.php 代码:

<?php
    require("phpsqlinfo_dbinfo.php");

    // Gets data from URL parameters
    $nombre = $_GET['nombre'];
    $direccion = $_GET['direccion'];
    $lat = $_GET['lat'];
    $lng = $_GET['lng'];
    $tipo = $_GET['tipo'];

    // Opens a connection to a mysql server
    $connection = mysql_connect ("localhost", $username, $password);
    if (!$connection) 
        die('Not connected : ' . mysql_error());
    

    // Set the active MySQL database
    $db_selected = mysql_select_db($database, $connection);
    if (!$db_selected) 
        die ('Can\'t use db : ' . mysql_error());
    

    // Insert new row with user data
    $query = sprintf("INSERT INTO vel " .
    " (id, nombre, direccion, lat, lng, tipo ) " .
    " VALUES (NULL, '%s', '%s', '%s', '%s', '%s');",
    mysql_real_escape_string($nombre),
    mysql_real_escape_string($direccion),
    mysql_real_escape_string($lat),
    mysql_real_escape_string($lng),
    mysql_real_escape_string($tipo));

    $result = mysql_query($query);

    if (!$result) 
        die('Invalid query: ' . mysql_error());
    
?>

【问题讨论】:

【参考方案1】:

你是对的;为了向数据库表中插入数据,最好使用$wpdb。 The WordPress Codex 可以为您提供示例和更多信息以帮助您继续进行。

例如,要在数据库表中插入一条新记录,您可以这样做(从上面的链接页面):

$wpdb->insert( 'table', array( 'column1' => 'value1', 'column2' => 123 ), array( '%s', '%d' ) )

如果您发布其他代码(例如,addrow.php 当前如何尝试保存数据?),我们或许可以提供更具体的信息。

【讨论】:

以上是关于如何将 HTML 表单中的数据保存到 WordPress 中的数据库表中?的主要内容,如果未能解决你的问题,请参考以下文章

Canonical:如何将 HTML 表单数据保存到 MySQL 数据库中

如何使用 javascript 或 jquery 将 html 表单数据保存到 sql db [关闭]

如何将动态表单保存到数据库/编辑表单回来

如何使用node.js中的循环将表单数据保存为对象和对象数组到mongodb?

如何从 html 表单中获取“日期和时间”输入并使用 Spring Boot 保存到 MySQL 数据库中?

如何使用javascript将表单数据附加并保存到txt文件