wordpress 尝试将联系人表单的数据插入到数据库(PhpMyAdmin)的两个表中,但插入失败

sczxawaw  于 9个月前  发布在  WordPress
关注(0)|答案(1)|浏览(148)

我试图将数据插入到两个表上的PhpMyAdmin到bitnami-wordpress,但它不工作.我使用的模板以及.模板成功插入数据,但我的不工作.请帮助我找出我做错了什么.
这里是模板

<?php
if($_POST['Submit'])
{
 $wpdb;
 $membername=$_POST['membernametextbox'];
 $phone=$_POST['phonetextbox'];
 $email=$_POST['emailtextbox'];
 $date=$_POST['datetextbox'];
 $paymenttype=$_POST['paymenttypetextbox'];
 
 if ($wpdb->insert('newmembers', array('membername'=>$membername,'phone'=>$phone,'email'=>$email))==false)wp_die('Database is down try again later!');
 
 else
     /* get_var method returns a single value whereas get_results method returns an array */
     $membernumber=$wpdb->get_var("Select max(membernumber) from newmembers");
     
     $wpdb->insert('subscription',array('date'=>$date,'paymenttype'=>$paymenttype,'membernumber'=>$membernumber));
     
     echo '<br><br> Data inserted succesfully!';
}
get_footer();
?>

字符串
这是我的版本。我的表名是“组织”和“捐赠者”。

<?php
if($_POST['Submit'])
{
 $wpdb;
 $donorname=$_POST['donornametextbox'];
 $paymenttype=$_POST['paymenttypetextbox'];
 $organizationtype=$_POST['organizationtypetextbox'];
 $organizationname=$_POST['organizationnametextbox'];
 $address1=$_POST['address1textbox'];
 
 if ($wpdb->insert('organization', array('organizationtype'=>$organizationtype,'organizationname'=>$organizationname,'address1'=>$address1))==false)wp_die('Database is down try again later!');
 
 else
     /* get_var method returns a single value whereas get_results method returns an array */
     $organizationid=$wpdb->get_var("Select max(organizationid) from organization");
     
     $wpdb->insert('donor',array('donorname'=>$donorname,'paymenttype'=>$paymenttype,'organizationid'=>$organizationid));
     
     echo '<br><br> Data inserted succesfully!';
}
get_footer();
?>

w8biq8rn

w8biq8rn1#

问题在于你初始化$wpdb对象的方式。在WordPress中,你应该使用全局$wpdb对象,但在你的代码中,你只是将其声明为局部变量,而没有初始化它。

<?php
if($_POST['Submit'])
{
 global $wpdb; // Add this line 

 $donorname=$_POST['donornametextbox'];
 $paymenttype=$_POST['paymenttypetextbox'];
 $organizationtype=$_POST['organizationtypetextbox'];
 $organizationname=$_POST['organizationnametextbox'];
 $address1=$_POST['address1textbox'];
 
 if ($wpdb->insert('organization', array('organizationtype'=>$organizationtype,'organizationname'=>$organizationname,'address1'=>$address1))==false)wp_die('Database is down try again later!');
 
 else
     /* get_var method returns a single value whereas get_results method returns an array */
     $organizationid=$wpdb->get_var("Select max(organizationid) from organization");
     
     $wpdb->insert('donor',array('donorname'=>$donorname,'paymenttype'=>$paymenttype,'organizationid'=>$organizationid));
     
     echo '<br><br> Data inserted succesfully!';
}
get_footer();
?>

字符串
您可以通过将以下行添加到wp-config.php文件来启用WordPress中的调试:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );


检查将所有错误记录到wp-content目录中的debug.log文件。

相关问题