有时mysqli没有查询结果

epggiuax  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(319)

我编写这个函数是为了从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";
}
}

[更新]
我试过这个,但结果没有差别。

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";
  }
}
bjg7j2ky

bjg7j2ky1#

在sql语句中有sql注入。请使用准备好的语句http://php.net/manual/de/mysqli.quickstart.prepared-statements.php 之后,您可以在参数中使用utf-8字符。

相关问题