2017-07-17 233 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