我在我的新网站上用英语使用TinyMCE,这是我自己做的(我就像一个星期天的程序员:)。就像以前我用我的母语做站点一样,我没有遇到这个问题:
所以..。当我在文本区中输入“不”或“不”这个词时,“‘”会破坏MySQL查询,并且我得到一个关于MySQL语法的错误。有没有办法绕过这个问题,让“‘”保存在数据库中?
编辑页面的代码如下所示
<textarea rows="12" cols="50" height="200px" name="text" >
<?php echo $row['text'];?>
</textarea>And查询
$sql="UPDATE works SET client='".$_POST["client"]."', description='".$_POST["description"]."', text='".$_POST["text"]."', image='".$_FILES["attels"]["name"]."' WHERE id=".$_GET['id']."";另外,有没有一种方法可以从文本区中删除<p>标记,因为tinymce会自动设置这些标记
在每一段前面。但我不需要他们。
发布于 2010-10-01 07:27:59
可以使用mysql_real_escape_string()函数清除要插入到数据库中的文本。这会在可能导致问题的字符前面添加反斜杠,例如单引号。
$sql="UPDATE works SET client='".mysql_real_escape_string($_POST["client"])."', description='".mysql_real_escape_string($_POST["description"])."', text='".mysql_real_escape_string($_POST["text"])."', image='".mysql_real_escape_string($_FILES["attels"]["name"])."' WHERE id=".sprintf("%d", $_GET['id'])."";理想情况下,您还应该使用sprintf()来防止SQL注入。
发布于 2010-10-01 07:27:29
您需要使用
mysql_escape_string清除POST变量以便在MySQL查询中使用
https://stackoverflow.com/questions/3835488
复制相似问题