我正在使用wpdb,但它的工作不是很好。但如果我不使用表单数据,它的工作

时间:2018-11-28 作者:Reaz
 <?php

 if (isset($_POST[\'submit\'])) {
 global $wpdb;

$table_name = $wpdb->prefix . "table_booky";
$wpdb->insert($table_name, array(
    "Name" => $_POST[\'name\'],
    "dep" =>  $_POST[\'age\'];
    "age"  =>  $_POST[\'dep\'];
 ));

  }
  ?>
 <form class="" action="<?php home_url(); ?>" method="POST">


    <input type="text" name="name" value="">
    <input type="text" name="age" value="">
    <input type="text" name="dep" value="">
    <input type="submit" name="submit" value="submit">

 </form>
1 个回复
SO网友:butlerblog

虽然您的问题对于您遇到的问题并不完全清楚,但我猜这是您定义试图插入的数组元素的方式。

元素之间混合了逗号和分号。

我修改了您的代码来纠正这一点-并且为了帮助您的代码的可读性,以便您可以看到它,我将其提取到一个变量中-$data_array.

<?php

if ( isset( $_POST[\'submit\'] ) ) {
    global $wpdb;

    $table_name = $wpdb->prefix . "table_booky";

    $data_array = array(
        "Name" => $_POST[\'name\'],
        "dep"  => $_POST[\'age\'],  // Note the comma, and not semicolon
        "age"  => $_POST[\'dep\'],  // Same here...
    );

    $wpdb->insert( $table_name, $data_array );

}
?>
<form class="" action="<?php home_url(); ?>" method="POST">


<input type="text" name="name" value="">
<input type="text" name="age" value="">
<input type="text" name="dep" value="">
<input type="submit" name="submit" value="submit">

</form>
现在,这并没有解决其他问题,例如您没有清理输入数据这一事实。因此,您应该在代码正常工作后再进行研究。

结束