Как устранить ошибку «Команды не синхронизированы»? - PullRequest
0 голосов
/ 28 августа 2018

У меня есть следующий фрагмент кода, где я пытаюсь выполнить два подготовленных Mysqli оператора. К сожалению, я могу получить только набор результатов первого подготовленного оператора. Я попытался решить эту проблему путем определения источника ошибки:

 $noError = mysqli_stmt_execute($stmt2);

 if(!$noError)
  {
    echo "Error:<br/>" . mysqli_error($con);
  }

и я получил это: Ошибка: Команды не синхронизированы; Вы не можете запустить эту команду сейчас

Фрагмент кода : -

 $stmt = mysqli_stmt_init($con);
 $stmt2 = mysqli_stmt_init($con);

 mysqli_stmt_prepare($stmt,'select fname,city from member where mid=?');
 mysqli_stmt_prepare($stmt2,'select paying_date,amount from fees where 

mid=?');

 mysqli_stmt_bind_param($stmt,'i',$MID);
 mysqli_stmt_bind_param($stmt2,'i',$MID);

 for($i=1;$i<=6;$i++)
 {
  $MID = $i;


  mysqli_stmt_execute($stmt);
  mysqli_stmt_execute($stmt2);



  mysqli_stmt_bind_result($stmt,$fname,$city);
  mysqli_stmt_bind_result($stmt2,$paying_date,$amount);



  mysqli_stmt_fetch($stmt);
  mysqli_stmt_fetch($stmt2);

  echo $fname." ".$city." ".$paying_date." ".$amount."<br/>"; 
 }

Итак, как мне избавиться от этой ошибки? С благодарностью заранее.

1 Ответ

0 голосов
/ 28 августа 2018

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

 $stmt = mysqli_stmt_init($con);
 $stmt2 = mysqli_stmt_init($con);

 mysqli_stmt_prepare($stmt,'select fname,city from member where mid=?');
 mysqli_stmt_prepare($stmt2,'select paying_date,amount from fees where 

mid=?');

 mysqli_stmt_bind_param($stmt,'i',$MID);
 mysqli_stmt_bind_param($stmt2,'i',$MID);

 for($i=1;$i<=6;$i++)
 {
  $MID = $i;

  mysqli_stmt_execute($stmt);
  mysqli_stmt_store_result($stmt);
  mysqli_stmt_bind_result($stmt,$fname,$city);
  mysqli_stmt_fetch($stmt);

  mysqli_stmt_execute($stmt2);
  mysqli_stmt_bind_result($stmt2,$paying_date,$amount);
  mysqli_stmt_fetch($stmt2);
  echo $fname." ".$city." ".$paying_date." ".$amount."<br/>";

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