Я использую подготовленные операторы, чтобы сделать запрос SQL в PHP, но получаю ошибку - PullRequest
0 голосов
/ 02 апреля 2020

Я пытался понять это около четырех часов. Я искал каждый угол inte rnet и не могу понять это. Я получаю сообщение об ошибке: «У вас есть ошибка в вашем синтаксисе SQL; обратитесь к руководству, соответствующему вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с '? TO?' в строке 1 "Это происходит в строке mysqli_stmt_prepare.

Я также пытался

$ sql =" ALTER TABLE orders CHANGE?? varchar (50); ";

но это тоже не помогло.

Любая помощь очень ценится

if(isset($_POST['newField']) && isset($_POST['oldField'])){
      $pst_New_Field_Name = mysqli_real_escape_string($link, $_POST['newField']);
      $pst_Old_Field_Name = mysqli_real_escape_string($link, $_POST['oldField']);

      $sql = "ALTER TABLE orders CHANGE ? ? varchar(50)";
      $stmt = mysqli_stmt_init($link);

      if(!mysqli_stmt_prepare($stmt, $sql)){
        echo "SQL statement prepare failed";
        echo mysqli_error($link);
      }else{
        mysqli_stmt_bind_param($stmt, 'ss', $pst_Old_Field_Name, $pst_New_Field_Name);
          if(!mysqli_stmt_execute($stmt)){
            "order could not be changed " . mysqli_error($link);
          }else{
              echo "<p class='fieldSuccess'>Order successfully changed</p>";
          }
      }
  }else{
    echo "fields not set";
  }
...