值不插入wordpress表

时间:2013-10-23 05:07:01

标签: php mysql wordpress wpdb

我正在尝试在模板文件中插入由我开发的自定义表单值。这样我就在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'  ) );
}

?>

为什么不能正常工作?在同一过程中,我在localhost上插入了两个表单值。

在核心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>

如果我错过任何事情,请随时提出。

非常感谢。

1 个答案:

答案 0 :(得分: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是保留字,可能是原因。