无法在 textarea 中插入撇号并插入到 mysql
can't insert apostrophe inside textarea and insert to mysql
当我试图在 textare 中插入一些带撇号的文本到 mysql 数据库时,它根本不会插入任何东西,有人知道这是为什么吗?
我希望有人能帮助我。
一些代码
PHP
foreach ($_POST['episode'] as $episode => $value ) {
$episode_title = $value['episode_title'];
$episode_filename = $value['episode_filename'];
$episode_image = $value['episode_image'];
$episode_description = $value['episode_description'];
$subtitle_language = $value['subtitle_language'];
$subtitle_filename = $value['subtitle_filename'];
$image_extension = $value['image_extension'];
$sql_episode = "INSERT INTO episodes VALUES ('', '$episode_title', '$episode_filename', '$episode_image', '$episode_description', '$subtitle_language', '$subtitle_filename', '$image_extension', '$inserted_child_id', '$inserted_cover_id')";
if ($db->query($sql_episode) === TRUE) {
$inserted_episode_id = $db->insert_id;
}
}
HTML
<textarea name="episode[0][episode_description]" placeholder="Episode Description..."></textarea>
您需要 'escape' 您的字符串,这样引号就不会破坏代码结构。通过以下一项或多项传递您发布的变量:
mysqli_real_escape_string($db,$string);
addslashes($string);
或其他类似函数,转换或'escape'引号。
例如:
$episode_description = mysqli_real_escape_string($db,$value['episode_description']);
当我试图在 textare 中插入一些带撇号的文本到 mysql 数据库时,它根本不会插入任何东西,有人知道这是为什么吗? 我希望有人能帮助我。
一些代码
PHP
foreach ($_POST['episode'] as $episode => $value ) {
$episode_title = $value['episode_title'];
$episode_filename = $value['episode_filename'];
$episode_image = $value['episode_image'];
$episode_description = $value['episode_description'];
$subtitle_language = $value['subtitle_language'];
$subtitle_filename = $value['subtitle_filename'];
$image_extension = $value['image_extension'];
$sql_episode = "INSERT INTO episodes VALUES ('', '$episode_title', '$episode_filename', '$episode_image', '$episode_description', '$subtitle_language', '$subtitle_filename', '$image_extension', '$inserted_child_id', '$inserted_cover_id')";
if ($db->query($sql_episode) === TRUE) {
$inserted_episode_id = $db->insert_id;
}
}
HTML
<textarea name="episode[0][episode_description]" placeholder="Episode Description..."></textarea>
您需要 'escape' 您的字符串,这样引号就不会破坏代码结构。通过以下一项或多项传递您发布的变量:
mysqli_real_escape_string($db,$string);
addslashes($string);
或其他类似函数,转换或'escape'引号。
例如:
$episode_description = mysqli_real_escape_string($db,$value['episode_description']);