Иногда нет результата запроса с MySQL - PullRequest
0 голосов
/ 29 апреля 2018

Я написал эту функцию для чтения из моей базы данных MySQL. В большинстве случаев это работает, но если это касается строки с умлаутами или символами типа "", возвращается "0 результатов".

function leseAntwort($FrageID, $AntwortID){

$sql = "SELECT antwort_text FROM antwort WHERE frage_id=$FrageID AND id=$AntwortID";
$result = connect()->query($sql);

if ($result->num_rows > 0) {
    $antwort = $result->fetch_row();
    connect()->close();
    return $antwort[0];
} else {
    connect()->close();
    return "0 results";
}
}

[UPDATE]

Я пробовал это, но между результатами нет никакой разницы.

function leseAntwort($FrageID, $AntwortID){

  $frage=$FrageID;
  $antwort=$AntwortID;
  global $mysqli;
  if ($stmt = $mysqli->prepare("SELECT antwort_text FROM antwort WHERE frage_id=? AND id=?")){
     $stmt->bind_param("ii", $frage, $antwort);
     $stmt->execute();
     $stmt->bind_result($d);
     $stmt->fetch();
     return $d;
     $stmt->close();
     $mysqli->close();
  } else {
    echo "Error";
  }
}

1 Ответ

0 голосов
/ 29 апреля 2018

у вас есть SQL-инъекция в вашем операторе SQL. PLZ использовать подготовленные заявления http://php.net/manual/de/mysqli.quickstart.prepared-statements.php После этого вы можете использовать UTF-8 символов в своих параметрах.

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