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

时间:2011-03-13 18:56:03

标签: php javascript database wordpress forms

我有一个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 个答案:

答案 0 :(得分:6)

你是对的;为了将数据插入数据库表,最佳做法是使用$wpdbThe WordPress Codex可以为您提供示例和更多信息,以帮助您继续。

例如,要将新记录插入数据库表,您可以执行此操作(从上面的链接页面):

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

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