MySQL PHP - 无法更新文本

时间:2017-03-19 23:09:53

标签: php mysql database utf-8

表user_content的列为id,context_text,email_last_edit。

这是我的更新方法:

$content_text1 = utf8_decode($_POST['content_text1']);
$conn = new mysqli($servername, $username, $password, $dbname);
  // Check connection
  if ($conn->connect_error) {
    die("Datenbankverbindung fehlerhaft: " . $conn->connect_error);
  }

  $sql = 'UPDATE user_content SET content_text="' . $content_text1 . '" AND email_last_edit="' . $email . '" WHERE id=1';

  if ($conn->query($sql) === TRUE) {

    //echo "New record created successfully";

  } else {

    echo "Datenbank-Fehler: " . $sql . "<br>" . $conn->error;

  }

  $conn->close();

我通过帖子将此文本发送到同一个php页面:

<h1><b>Mitglied</b></h1><br><b>Community</b>
<b>Kurzprofil</b>,ß<b>Community-Bereich</b<b>Chats</b>.

不幸的是,每次更新列content_text都变为0。 我认为这是文本中特殊字符的问题,但uft8_decode()无论如何都无法解决这个问题。

有谁知道这个解决方案? 非常感谢:)

1 个答案:

答案 0 :(得分:0)

更改您的查询
$sql = 'UPDATE user_content SET content_text="' . $content_text1 . '" , email_last_edit="' . $email . '" WHERE id=1';

删除'AND'并替换为','

出于安全原因,您还必须转义参数