WordPress AJAX (php / MySQL) - как переместить повторно используемые части кода / определения во внешний файл или функцию? - PullRequest
0 голосов
/ 11 октября 2018

Я пишу ajax-вызов WP для взаимодействия с внешней базой данных MySQL.Итак, у меня есть файл ajax.php, в котором определены все мои вызовы ajax, каждый из которых представлен отдельной функцией и соответствующим действием, например:

ajax.php

// MySQL ajax
add_action( 'wp_ajax_nopriv_mysql_ajax', 'mysql_ajax' );
add_action( 'wp_ajax_mysql_ajax', 'mysql_ajax' );

function mysql_ajax() {
//some code
} // End MySQL ajax

В моем вызове MySQL ajax я использую процедурный mysqli для связи с базой данных.У меня есть фрагменты кода, которые используются несколько раз, как этот:

if (mysqli_query($conn, $var['sql'])) {
    echo "SQL: OK. Query:\n" . $var['sql'] . "\n\n";
} else {
    echo "SQL: ERROR.\n" . mysqli_error($conn) . "\n\nQuery:\n" . $var['sql'] . "\n\n";
}

Я хочу переместить этот код в функцию и из функции вызова ajax, например:

MySQL.php

function mysql_insert_into_table($table){

    if (mysqli_query($conn, $table['sql'])) {
        echo "SQL: OK. Query:\n" . $table['sql'] . "\n\n";
    } else {
        echo "SQL: ERROR.\n" . mysqli_error($conn) . "Query:\n" . $table['sql'] . "\n\n";
    }
}

Но когда я делаю это, запросы MySQL перестают работать, и я не вижу никаких ошибок SQL в консоли.Что я делаю не так?

Пока мне удалось переместить переменные, содержащие запросы SQL для создания моих таблиц, в отдельный файл .php и сделать их доступными внутри вызова ajax с помощью команды"global":

global $myTable;

1 Ответ

0 голосов
/ 11 октября 2018

Ваш вопрос неясен, но для запроса ajax попробуйте:

      $.ajax({
url:'file.php',
method:'POST',
data:{
id:id,
value:option
},
success:function(data){
    }
    );        

Спасибо !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...