Я хотел бы, чтобы вы отправляли новую информацию (как JSON) на страницу PHP асинхронно. PHP получает новые данные и обновляет базу данных - PullRequest
1 голос
/ 19 марта 2020

Мой код не обновляется в базе данных асинхронно, я должен нажать кнопку «обновить», чтобы обновить его, функция должна работать, когда пользователь использует режим «Обновление», он может редактировать информацию и сообщать странице, что он закончил редактирование. пожалуйста помогите? Html:

<form method="POST" action="EditCourse.php?id=<?php echo $courseid ?>" id="form">
<fieldset> <legend> Course Information</legend>
Course Title: <input type="text" name="title" id="title" value="<?php echo $name?>" onblur="validate(this.value)" pattern="[A-Za-z\s]*" ><br>
 Course Field: <input type="text" name="field" id="field" value="<?php echo $fied?>"  pattern="[A-Za-z\s]*"><br>
 Course Description:<textarea name="description" rows="8" pattern="[a-zA-Z]*"  oninvalid="setCustomValidity('Please enter character only. ')" cols="80"> <?php echo $des ?></textarea><br>
 Course Image:<input type="file" name="Book_cover"  id="Book_cover"><br>
 <button class="button">UPDATE</button>
 <div id="message"></div>
</fieldset>
</form>

Java скрипт:

  function validate(title){
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    document.getElementById("message").innerHTML = this.responseText;
  }};
xhttp.open("POST", "EditCourse.php?courseid=17627", true);
 xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
 xhttp.send("title="+title);
 }

PHP:

 $ID3=$_GET['id'];
  $title3=$_POST['title'];
 $pic = base64_encode(file_get_contents(addslashes($pic)));
$sqlipdate="UPDATE Course SET Name='$title3' WHERE ID='$ID3'";

 $result =mysqli_query($connection,$sqlipdate);
$row = mysqli_fetch_assoc($result);
if(mysqli_num_rows($result)>0){
echo "<span>The update is saved</span>";
  }
  else {
    echo "<span>error1</span>";
  }

1 Ответ

0 голосов
/ 19 марта 2020

Поскольку запрос UPDATE не возвращает набор результатов, mysqli_num_rows($result) всегда равен 0.

С PHP do c в mysqli_query :

Возвращаемые значения

Возвращает FALSE при ошибке. Для успешных запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query () вернет объект mysqli_result. Для других успешных запросов mysqli_query () вернет TRUE.

Возможно, вы захотите взглянуть на mysqli_acted_rows

Возвращает количество строк, затронутых последний запрос INSERT, UPDATE, REPLACE или DELETE.

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