小さなスクリプト ビンのデータベースにソース コードを格納する際に問題が発生しています。問題は、データベースから表示するために使用される構文ハイライターの印刷されたコードに、改行があってはならない場所があることです。テキストが同じ方法で保存されているデータベースでも見ました。
最初はラップの問題だと思ったので、入力フォームでラップをハードに設定しました。次に、addslashes を追加しましたが、それは機能しませんでした。magic_quotes を試してみました。この場合、以下に示すように、mysql_real_escape_string を試しました。
何か不足していますか?ありがとう
以下のこのコードは db への挿入であり、関連する値は $content です
<?php
session_start();
$submit = $_POST['submit'];
$sniptitle = ($_POST['sniptitle']);
$date = date("Y-m-d H:i:s");
$user = $_SESSION['username'];
$lang = ($_POST['lang']);
$con=mysqli_connect("localhost","xxxx","xxxx","xxxx");
$content = mysql_real_escape_string($_POST['snipcontent']);
// ^^^HERE IS THE ISSUE ^^^
if(isset($_POST['submit'])) {
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($con,"INSERT INTO code_lib ( snip_title , snip_content , posted_by , lang , datetime )
VALUES ('$sniptitle' , '$content' , '$user' , '$lang' , '$date' )");
mysqli_close($con);
header ("Location: xxx"); // Move back to a page
exit();
}
?>