我正在编写一个与外部MySQL数据库接口的WP ajax调用。因此,我有一个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调用中,我使用过程化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 $myTable;
https://stackoverflow.com/questions/52750031
复制相似问题