在wordpress数据库中插入两行

时间:2013-10-22 10:23:53

标签: php mysql sql wordpress

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

<?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类,那么我的temlate文件数据显示在前端,但是当我使用$ wpdb进行插入时,它在前端没有显示任何内容。

那么您对我在mysql中插入数据应该怎么做有任何建议。

由于

3 个答案:

答案 0 :(得分:1)

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

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

define('WP_DEBUG', true);

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

答案 1 :(得分: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' ) );
}
?>

答案 2 :(得分: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);*/
    }