输入较长文本时,仅应通过引用传递变量

当我尝试输入较长的文本时出现奇怪的错误,但它适用于一个简单的句子,下面是我的代码:


function insert($project)

{

    if (!empty($project->get_title()) && !empty($project->get_description()) && !empty($project->get_imgPath())) {

        include 'openConnection.php';


        // prepare and bind

        $stmt = $dbLink->prepare("INSERT INTO projects (title, description, imgPath) VALUES (?,?,?)");

        $stmt->bind_param("sss", $project->get_title(), $project->get_description(), $project->get_imgPath());


        // execute

        if ($stmt->execute()) {

            return $stmt->insert_id;

        } else {

            $this->addError("Insert failed");

            return false;

        }

    } else {

        $this->addError("All fields must be provided");

    }

}

下面这个调用上面传递项目的insert方法:


$project = new Project();

        $project->set_title($_POST['title']);

        $project->set_description($_POST['description']);

        $project->set_imgPath($uploadfile);


        $project->insert($project);


GCT1015
浏览 66回答 1
1回答

HUWWW

我认为错误可能是您的数据库对字符串的字符数有限制。如果您尝试插入一个长度超过限制的字符串,您的数据库可能会给您一个错误并且不接受该行。我建议查看表结构并查看该列是否指定了字符限制。
打开App,查看更多内容
随时随地看视频慕课网APP