У меня есть внешняя база данных, куда я хочу вставить свои данные формы с помощью $ wpdb. На странице, где находится форма, я могу объявить $ wpdb глобальным, а затем создать newdb, чтобы получить результаты и отобразить их в моей форме.
Этот код в настоящее время работает:
<?php
global $wpdb;
$member_id = SwpmMemberUtils::get_logged_in_members_id();
$field_name = 'user_name';
$fname_value = SwpmMemberUtils::get_member_field_by_id($member_id, $field_name);
$newdb = new wpdb( 'user' , 'pass' , 'database' , 'localhost' );
$newdb->show_errors();
$results = $newdb->get_results($wpdb->prepare("SELECT * FROM member_lists WHERE username = %s",$fname_value));
?>
Для действия отправки формы у меня есть файл PHP с именем update-list. php, который находится в моей дочерней папке темы для сделать вставку для моего сообщения данных, которые не работают. Я получаю эту ошибку:
Неустранимая ошибка: необработанная ошибка: класс 'wpdb' не найден в / home / site / www/www/home/wp-content/themes/Avada-child/update-list.php: 4 Трассировка стека: # 0 {main}, брошенный в / home / site / www/www/home/wp-content/themes/Avada-child/update-list.php в строке 4
Вот код этого списка обновлений. php file:
<?php
global $wpdb;
$newdb = new wpdb( 'user' , 'pass' , 'database' , 'localhost' );
$stats = array();
for( $i = 0; $i <= $stats; $i++ )
{
$stats[] = array(
'username' => $_POST['username'],
'first_name' => $_POST['first_name'],
'last_name' => $_POST['last_name'],
'county' => $_POST['county'],
'street' => $_POST['street'],
'city' => $_POST['city'],
'ward' => $_POST['precinct'],
);
}
foreach ( $stats as $stat )
$newdb=$wpdb->insert( 'member_lists', $stat );
?>
Почему он распознает wpdb на странице с моей формой, но не в форме обновления списка действий. php файл?