Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数据库中存储tinymce中的格式化文本_Php_Javascript_Mysql_Tinymce - Fatal编程技术网

Php 在数据库中存储tinymce中的格式化文本

Php 在数据库中存储tinymce中的格式化文本,php,javascript,mysql,tinymce,Php,Javascript,Mysql,Tinymce,我有一个tinymce文本区域,在加载页面时,我在其中输入一些默认文本。此文本的格式为粗体和下划线。所有这些都很有效。但是,当我将此文本存储在MySQL数据库中时,会出现以下错误: 向数据库添加电子邮件时出错:您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,了解 正确的语法使用近。。。在5号线 下面是我如何在textarea中创建此默认文本的 window.onload = function formatText() { tinyMCE.get("results").set

我有一个tinymce文本区域,在加载页面时,我在其中输入一些默认文本。此文本的格式为粗体和下划线。所有这些都很有效。但是,当我将此文本存储在MySQL数据库中时,会出现以下错误:

向数据库添加电子邮件时出错:您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,了解 正确的语法使用近。。。在5号线

下面是我如何在textarea中创建此默认文本的

window.onload = function formatText() {
    tinyMCE.get("results").setContent("<b><u>RESULTS</b></u><br><br><br>");
    tinyMCE.get("upcoming_races").setContent("<b><u>UPCOMING EVENTS</b></u><br><br><br>");
    tinyMCE.get("thisweek").setContent("<b><u>THIS WEEK'S TRAINING</b></u><br><br><br>");

}
编辑2:下面是$sql文本的回音。我觉得奇怪的是,所有的回车都必须来自javascript:

在电子邮件中插入(日期、主题、问候语、结果、即将到来、, 本周,签署)值('2013-07-23','test','test','RESULTS

","即将举行的活动",

","本周的训练,

“,”测试签准“)


我使用下面的函数,所以您需要将mysql转换为mysqli。。。您无论如何都需要这样做,否则您的代码将无法在即将发布的版本中使用。链接到帮助

还要注意,这段代码被修改了,因为我在类中有它,所以可能有点不对劲。。。我不使用全球等

function escapeString($string) {

    global $connection;

    // depreciated function
    if (version_compare(phpversion(),"4.3.0", "<")){
        return mysqli_escape_string($connection, $string);
    } else {
        return mysqli_real_escape_string($connection, $string);
    }

}


$sql = "INSERT INTO Emails
            (date, subject, greeting, results, upcoming, thisweek, signoff)
            VALUES 
            ('" . escapeString($today) . "', '" . escapeString($subject. "', '" . escapeString($greeting) . "', '" . escapeString($results) . "', '" . escapeString($upcoming) . "', 
            '" . escapeString($thisweek) . "', '" . escapeString($signoff) . "')";
函数转义限制($string){
全球美元连接;
//折旧函数

如果(版本比较(phpversion(),“4.3.0”,"您的错误不在JS代码中。请发布相关的php代码,以便我们查看。好的,这将很难调试,但让我们从添加echo$sql;开始,在$result=之前添加一个字符串,该字符串会导致此错误。请使用该字符串更新您的帖子或将其放在注释中。我猜您没有正确地转义所有内容。我没有我想你是对的。也许它与javascript条目中的
标记有关???我会使用sql并通过phpMyAdmin或连接到数据库的应用程序运行它来测试我猜是“本周的培训”导致错误的原因是“在一周内”。你应该研究PDO或转义输入。你完全正确。我没有想到这一点(最初也没有发布)。当我从原始javascript代码中去掉撇号时,一切都很好。
function escapeString($string) {

    global $connection;

    // depreciated function
    if (version_compare(phpversion(),"4.3.0", "<")){
        return mysqli_escape_string($connection, $string);
    } else {
        return mysqli_real_escape_string($connection, $string);
    }

}


$sql = "INSERT INTO Emails
            (date, subject, greeting, results, upcoming, thisweek, signoff)
            VALUES 
            ('" . escapeString($today) . "', '" . escapeString($subject. "', '" . escapeString($greeting) . "', '" . escapeString($results) . "', '" . escapeString($upcoming) . "', 
            '" . escapeString($thisweek) . "', '" . escapeString($signoff) . "')";