簡體   English   中英

有時mysqli沒有查詢結果

[英]Sometimes no query result with mysqli

我已經編寫了此函數以從我的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";
  }
}

您的SQL語句中有SQL注入。 PLZ使用Prepared Statements http://php.net/manual/de/mysqli.quickstart.prepared-statements.php之后,您可以在Params中使用utf-8 Chars。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM