您好我正在使用一个模板,我必须获取一些值并将它们插入我自己在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中插入数据应该怎么做有任何建议。
由于
答案 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);*/
}