PHP에서 MySql 데이터베이스 테이블에 특정 문자를 저장하는 데 문제가 있습니다. WYSIWYG 편집기를 사용하여 페이지 컨텐츠를 작성하고이를 DB에 저장합니다. 내 코드에 ' '또는 아포스트로피가 있으면 html 텍스트가 DB에 저장되지 않습니다. 다음은 내 코드입니다 : 저장하는 데이터베이스에 대한PHP와 MySQL로 HTML 저장하기
function SaveContent()
{
var content = CKEDITOR.instances.ContentEditor.getData();
content = content.replace(/"/g, "'");
var page = document.getElementById("hfpage").value;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
location.href=document.referrer;
}
}
//alert(content);
xmlhttp.open("GET","savecontent.php?content="+content+"&page="+page,true);
xmlhttp.send();
}
PHP 코드 : : 이미 '는 mysql_real_escape_string'를 사용
//save content editted/added through the HTML editor
function SaveContent($page, $content, $user)
{
$con = $this->OpenConnection();
//first check if the content exists, if so do an update
$sql = "SELECT * FROM sitecontent WHERE Page = '" . $page . "'";
$content = mysql_real_escape_string($content);
$rowcount = mysqli_num_rows(mysqli_query($con,$sql));
if($rowcount > 0)
{
//run update
$sql = 'UPDATE `sitecontent` SET `Content`="' . $content . '", `UpdatedBy`="' . $user . '", `LastUpdated`= NOW() WHERE `Page` = "' . $page . '"';
$result = mysqli_query($con,$sql);
//echo $sql;
}
else
{
//run insert
$sql = 'INSERT INTO `sitecontent` (`Page`, `Content`, `LastUpdated`, `UpdatedBy`) VALUES ("' . $page . '","' . $content . '", NOW(),"'. $user . '")';
$result = mysqli_query($con,$sql);
}
}
공지 사항을 이미 일부에서 본대로 서버를 통해 데이터를 전송
포럼에 글을 게시 할 수는 있지만 도움이되지는 않습니다.
누군가가 문제를 해결할 수 있다면 감사하게 생각합니다.
당신이'mysqli_query를 사용하는 경우()'당신은 준비된 문을 사용해야합니다. – samayo