2017-07-17 141 views
-2

所以我需要使用PHP运行MySQL查询。我知道你必须通过admin-ajax.php运行任何AJAX调用,所以这不是问题。我有一个AJAX调用,它从测试函数的输出中加载HTML,该测试函数将SQL查询运行到已定义的元素中 - 目前,发生的情况是,当我访问该网站时,已定义的元素为空,表示查询未通过SQL查询输出为空

add_action("wp_ajax_test_function", "test"); 
add_action("wp_ajax_nopriv_test_function", "test"); 
function test() { 
    $qid = $_GET["url"]; 
    $test = "SELECT Questions FROM qs"; 
    $conn = new mysqli($servername, $username, $password); 
    $result = $conn->query($test) 
    echo $result; 
    die(); 
} 

需要注意的事项

  • 我已经验证了测试功能正在因为 叫上一个正常的回声作品(如世界您好)
  • 我知道,因为数据库连接的工作原理我有一个if条件,告诉我它已经“连接成功”
  • 关于$servername变量 - 我定义在别的地方
  • 我所有的代码是相同的风格(面向对象)
  • 我已经检查了我的数据库中的实际SQL查询和它的罚款
  • 我也尝试过使用$mysqli->error,但输出也是空的

它必须与实际的PHP语法有关,对不对?我已经运行一个语法检查器,说,这是不错,但我不知道

+3

你的功能一无所知关于'$ servername,$ username,$ password'如果你var_dump($ servername,$ username,$ password)'你显然会看到'NULL NULL NULL' –

+0

“关于$ servername变量 - 我将它们定义在别的地方”和我知道这很好,因为我的连接成功的指标工作正常 – SBZ

+0

其他地方?在一个函数中?你需要他们作为全球? –

回答

0
$test= $test = "SELECT Questions. FROM qs Where id='4' "; 

你需要指定其 或者使用诡计循环打印所有提交的数据

$num=$conn->query("SELECT count. (*) FROM qs"); 
$x=0; 
While ($x <=$num ['count (*)']){ 
$row=$conn->query("SELECT *FROM qs WHERE id='$x +1' "); 
echo $row ['Questions'];} 
+0

感谢您的回复。不幸的是,我的问题是我没有从服务器得到任何回应。即使更改和添加where子句也没有做任何事情。 – SBZ