-1

您好,我正在开发一个模板,我必须在其中获取一些值并将它们插入到我自己在 wordpress 数据库中创建的表中。现在因为我不知道如何在 wordpress 数据库中插入记录,所以我正在我的本地服务器上尝试它以进行练习。我的模板文件是:

<?php
/**
   Template Name: Injection.
 */
get_header();
?>
<form method="post" action="">
Album: <input type="text" name="album" />
Artist: <input type="text" name="artist" />
<input type="submit" name="submit"/>
</form>
<?php
if(isset($_POST['submit']))
{
require_once('../../../wp-load.php');
 global $wpdb

 $album=$_POST['album'];
 $artist=$_POST['artist'];

 $wpdb->insert( 'music', array( 'album' => $album, 'artist' => $artist ), array( '%s', '%s' ) )
}
?>

在这里我有一个奇怪的问题如果我在这里不使用 $wbdb 类,那么我的模板文件数据会显示在前端,但是当我使用 $wpdb 进行插入时,它不会在前端显示任何内容。

那么您对在 mysql 中插入数据应该怎么做有什么建议吗?

谢谢

4

3 回答 3

1

您没有添加;登录您的模板,尝试以下代码。

    <?php
/**
   Template Name: Injection.
 */
get_header();
?>
<form method="post" action="">
Album: <input type="text" name="album" />
Artist: <input type="text" name="artist" />
<input type="submit" name="submit"/>
</form>
<?php
if(isset($_POST['submit']))
{
require_once('../../../wp-load.php');
 global $wpdb;

 $album=$_POST['album'];
 $artist=$_POST['artist'];

 $wpdb->insert( 'music', array( 'album' => $album, 'artist' => $artist ), array( '%s', '%s' ) );
}
?>
于 2013-10-22T11:06:19.467 回答
1

“在前端不显示任何内容。”。我认为php有问题,要找出错误是什么,试试这个:

编辑 wp-config.php,使 WP_DEBUG 为真。

define('WP_DEBUG', true);

现在它应该在首页上看到一些错误消息。

于 2013-10-22T10:52:17.413 回答
0

首先打开theme/function.php 文件并将这段代码添加到function.php 文件中。首先添加 hook_action()。

 add_action('wpcf7_before_send_mail','save_to_db');

现在创建将数据存储到数据库的函数。

    function save_to_db($cf7) {

       global $wpdb;

       $name = $_POST["your-name"];
       $mail = $_POST["your-email"];
       $subject = $_POST["your-subject"];
       $phoneno = $_POST["your-phoneno"];
       $address = $_POST["your-address"];
       $message = $_POST["your-message"];

       $test = $wpdb->insert($wpdb->prefix.'contactus', 
        array(
          'name'          => 'test',
          'email'       => 'test@gmail.com',
          'subject'     => 'fsaf',
          'phone'       => '1234566230',
          'address'     => 'tes',
          'message'     => 'asdasdasd'            
        ),
        array(
          '%s',
          '%s',
          '%s',
          '%s',
          '%s',
          '%s'
        ) 
       ); 
       /*echo $wpdb->last_query;die;
      echo '<pre>'; print_r($test);*/
    }
于 2015-05-05T08:57:52.183 回答