0

我正在尝试在模板文件中插入我开发的自定义表单值。这样我就在 wordprress 数据库中创建了一个 customer_info 表。这是正确的做法吗?

这是我到目前为止尝试过的代码:

<?php
if(isset($_POST['submit']))
{
 global $wpdb;
echo $q=$_GET['q']; 
$a=$_POST['name'];
$b=$_POST['lname'];
$c=$_POST['email'];
$d=$_POST['mobile'];
$e=$_POST['phone'];
$f=$_POST['accom'];
$g=$_POST['adress'];
$h=$_POST['remark'];
$wpdb->insert( 'customer_info', array( 'post_id' => $q, 'name' => $a,'lname' => $b, 'email' => $c,'mobile' => $d, 'phone' => $e,'adress' => $g, 'remark' => $h  ), array( '%d', '%d','%s', '%s' ,'%s', '%s' ,'%s', '%s'  ) );
}

?>

为什么它不起作用?而通过相同的过程,我在本地主机上插入了两个表单值。

在核心 php 中我知道如何调试等,所以请告诉我如何在 wordpress 中做到这一点,因为 wordpress 有自己的 wpdb 类用于数据库操作。

这是我的 html 表单

<form method="post" action="">
<table width="50%" align="left">
<h3>Customer Info</h3>
<tr>
<td valign="top">Name</td><td valign="top"><input type="text" name="name" /></td>
</tr>
<tr>
<td valign="top">Last Name</td><td valign="top"><input type="text" name="lname" /></td>
</tr>
<tr>
<td valign="top">Email</td><td valign="top"><input type="text" name="email" /></td>
</tr>
<tr>
<td valign="top">mobile</td><td valign="top"><input type="text" name="mobile" /></td>
</tr>
<tr>
<td valign="top">Phone</td><td valign="top"><input type="text" name="phone" /></td>
</tr>


<tr>
<td valign="top">Address</td><td valign="top"><input type="text" name="adress" /></td>
</tr>

<tr>
<td valign="top">Remark</td><td valign="top"><input type="textarea" name="remark" /></textarea></td>
</tr>
<tr>
<td valign="top">Click for continue</td><td valign="top"><input type="submit" name="submit" value="Continue" /></td>
</tr>
</table>
</form>

如果我错过了什么,请随时询问。

非常感谢。

4

1 回答 1

1

你可以试试这样的错误

1) Enable database error display via $wpdb->show_errors()
2) Check what query is being formed and run via $wpdb->last_query

name在您的情况下,字段是一个字符串,并且您已在插入数组中将其定义为整数,使用'%s'它而不是%d. name因为是保留字,所以也对输入使用不同的属性,name这可能是一个原因。

于 2013-10-23T05:47:41.043 回答