我尝试了在自定义表中插入数据的不同方法,但不起作用,也没有错误。
有时是节省,但大多数时间不是。
我在网上查了一下,但没有一个解决方案适合我。
我的最后一种方法是:
$sql = $wpdb->prepare("INSERT INTO `$table_name`
(`name`, `email`, `phone`, `address`, `message`, `rq`, `url`)
values
(%s, %s, %s, %s, %s, %d, %s)",
$name, $email, $phone, $address, $msg, 1, $url);
$wpdb->query($sql);
我打印$sql并粘贴到phpmyadmin sql上并保存它,因此查询没有任何问题,但仍然没有保存。
为什么会这样?
我已经尝试使用array和$wpdb->insert(),同样的问题。
EDIT:it is solved. it was an integer passed like string, thanks to everybody
SO网友:Techno Deviser
首先插入全局。
global $wpdb;
然后你必须正确地检查你的报价。
$sql = $wpdb->prepare(
"INSERT INTO `$table_name`
(`name`,`email`,`phone`,`message`,`rq`,`url`)
values ($name, $email, $phone, $address, $msg, 1, $url)");
$wpdb->query($sql);
或
$wpdb->insert(\'$table_name\', array(
\'name\' => $name,
\'email\' => $email,
\'phone\' => $phone, // ... and so on
));