2 запроса в JQuery AJAX вызова? - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь получить некоторые данные из базы данных Mysql и поместить результаты в форму.

работает нормально, когда я запрашиваю базу данных один раз и возвращаю результат.Но когда я использую результат для запуска другого запроса и затем пытаюсь вернуть результат, я получаю ошибку 500?

Сценарий и его файл load-data.php выглядят так:

<script>
$(document).ready(function(){
  
  $("button").click(function(){
    var dataCount = $('#curr_pair').val();
    //console.log(dataCount);
    var var_data = "";
                     $.ajax({
                         url: "http://192.168.2.8/wp-content/plugins/trader/load-data.php",
                         type: 'POST',
                          data: ({  dataNewCount: dataCount }),
                          dataType: 'json',
                          success: function(data) {
                              //console.log(data[1]);
                              //var dataObj = JSON.parse(data);
                              console.log(data);
                              //var test = data;
                              //console.log(test);
                              $("#input").val(data[0]);
                              $("#input1").val(data[1]);
                             //$('#result').html(data)
                          }
                      });
 


$("#comments").load("../wp-content/plugins/trader/load-data.php", {
      dataNewCount: dataCount
    });




  });

});



  </script>
<?php
$server = "localhost";
$username ="XXXXX";
$password = "XXXXX";
$database = "XXXX";

$conn = mysqli_connect($server,$username,$password,$database);
$conn1 = mysqli_connect($server,$username,$password,$database);
$dataNewCount = $_POST['dataNewCount'];


$sql = "SELECT bid,ask,curr_pair FROM wp_ticker WHERE wp_ticker.curr_pair = '$dataNewCount' LIMIT 1";

$result = mysqli_query($conn, $sql);
	if (mysqli_num_rows($result) > 0) {
			While ($row = mysqli_fetch_assoc($result)){
					$val1 = $row['bid'];
				}
 }
 
mysqli_free_result($result);
mysqli_close($conn);
$dataNewCountfirst3 = substr($dataNewCount, -3, 3);
if ($dataNewCountfirst3 !== "EUR"){
	$geteuro = $dataNewCountfirst3."EUR";
}


$sql = "SELECT bid,ask,curr_pair FROM wp_ticker WHERE wp_ticker.curr_pair = '$geteur' LIMIT 1";;
$result = mysqli_query($conn1, $sql);
if (mysqli_num_rows($result) > 0){
	//echo $result2->bid;
	while($row = mysql_fetch_assoc($result)){
		$val2 =$row['bid'];
		

	}
		
} 

$data = ["$val1", "$val2"];
echo json_encode($data);

Когда я удаляю второй запрос, он работает нормально, но мне нужно его запустить, потому что в зависимости от результата первого запроса мне нужна дополнительная информацияиз той же таблицы базы данных.

1 Ответ

0 голосов
/ 02 июня 2018

Вы идете об этом все неправильно, почему у вас есть две связи?Вы можете использовать одно соединение для выполнения нескольких запросов.

<?php
$server = "localhost";
$username ="XXXXX";
$password = "XXXXX";
$database = "XXXX";

$conn = mysqli_connect($server,$username,$password,$database);
$dataNewCount = $_POST['dataNewCount'];


$sql = "SELECT bid,ask,curr_pair FROM wp_ticker WHERE wp_ticker.curr_pair = '$dataNewCount' LIMIT 1";

$result = mysqli_query($conn, $sql);
  if (mysqli_num_rows($result) > 0) {
      while ($row = mysqli_fetch_assoc($result)){
          $val1 = $row['bid'];
        }
}

mysqli_free_result($result);

$dataNewCountfirst3 = substr($dataNewCount, -3, 3);
if ($dataNewCountfirst3 !== "EUR"){
  $geteuro = $dataNewCountfirst3."EUR";
}


$sql = "SELECT bid,ask,curr_pair FROM wp_ticker WHERE wp_ticker.curr_pair = '$geteur' LIMIT 1";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0){
  //echo $result2->bid;
  while($row = mysql_fetch_assoc($result)){
    $val2 =$row['bid'];
  }
}

mysqli_close($conn); 

$data = ["$val1", "$val2"];
echo json_encode($data);
  • У вас также было дополнительное ; в конце вашего второго $sql.
  • Вы должны использоватьmysqli_error для отладки вашего кода mysqli.
  • У вас заглавная буква 'w' в while (не ошибка, но вы должны оставаться последовательной).

Я действительно думаю, что вы должны прочитать основы mysqli.

Примечание: Запросы могут быть подделаны.В результате я думаю, что вы должны проверить свои входные данные.

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