WordPress wpdb-> insert возвращает int (0) => ничего не вставляет, никаких ошибок!

Я действительно не знаю. Я хочу сделать вставку в моем плагине WordPress, проблема в том, что она не возвращает никаких ошибок и не вставляет материал!

Я не знаю, как это исправить, и вам действительно нужна ваша помощь. В следующем коде я использовал имена примеров, но я использовал символ - для них в случае, если у моей реальной таблицы есть имена с - в ней, а также с самой таблицей.

Обычно нет проблем, просто используйте некоторые обратные тики “ и материал работает хорошо, но теперь добро пожаловать в WordPress. Есть ли проблема с функцией вставки в WordPress или есть ли другая возможная ошибка?

Я действительно пытался исправить это сам, но я потерпел неудачу.

 $insertion = $wpdb->insert($wpdb->prefix.'table-name-of-plugin', array( 'column-name' => $stringValueForC1, 'second-column-name' => $stringValueForC2 ), array('%s, %s')); 

Если я использую var_dump() для переменной вставки i get: int(0) . строка 0 для wpdb->last_error и bool(false) для wpdb->last_query .

Я также дважды проверял имя моей таблицы, и это на 100% правильно! Какая может быть ошибка?

Ваш формат неправильный.

На вашем коде должно быть

 $insertion = $wpdb->insert($wpdb->prefix . 'table-name-of-plugin', array( 'column-name' => $stringValueForC1, 'second-column-name' => $stringValueForC2 ), array('%s', '%s') ); 

Обратите внимание на изменение

 array('%s, %s') 

в

 array('%s', '%s') 

Кроме того, поскольку вы устанавливаете формат для обоих значений как строку. Я рекомендую вам просто использовать

 '%s' 

Параметр формата принимает либо массив, либо строку. Если это строка, строка будет использоваться как формат для всех значений. Источник – https://codex.wordpress.org/Class_Reference/wpdb#INSERT_row

Проблема существует в формате типа данных. Вы передали array('%s, %s') более внимательно рассмотрите вместо двух значений, которые вы передали им как одно значение, что приводит к неправильному типу данных.

Он должен быть array('%s', '%s')

Таким образом, окончательное правильное утверждение будет выглядеть следующим образом:

 $insertion = $wpdb->insert($wpdb->prefix . 'table-name-of-plugin', array( 'column-name' => $stringValueForC1, 'second-column-name' => $stringValueForC2 ), array('%s', '%s') );