我试图制作完美的作品,直到我在html表单中加入特殊字符(如;,!
等)。我搜索了一下,发现了一些关于表格整理的内容(默认为utf8_unicode_ci
)。PHP和MySQL特殊字符错误
我有<meta charset="utf-8">
进入头文件和mysqli_set_charset($conn, 'utf8')
连接到数据库后。该表格还具有accept-charset="utf-8"
属性。
这里是发送表格后会发生什么:
if(isset($_POST['sendForm']))
{
$articleTitle = $_POST['title'];
$articleText = $_POST['text'];
$name = $_SESSION['name'];
$currentDateMySQL = date("Y.m.d");
$sql = "INSERT INTO articles (title, text, owner, date_added) VALUES ('$articleTitle', '$articleText', '$name', '$currentDateMySQL')";
$result = mysqli_query($conn, $sql);
if($result === false)
{
$color = "red";
$infoText = "Could not insert your information into the database. Error number: <b>" . mysqli_errno($conn) . "</b>. :(Try again.";
}
else
{
$color = "green";
$infoText = "Succesfully writen the article into the database. :)";
}
}
而且给定的错误号码是1064
。 SQL代码中没有错误,它可以在没有特殊字符的情况下正常工作。
它避开了特殊字符 – Sepultura
我使用mysqli的不是MySQL,但我不使用PDO –
谢谢你!这就是我在注册时所做的。我忘了。再次感谢你! –