首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql数据库中插入显示错误的文本

问在mysql数据库中插入显示错误的文本
EN

Stack Overflow用户
提问于 2015-07-04 20:06:04
回答 1查看 389关注 0票数 0

我遇到了一个奇怪的问题。我的桌子上有一列文字。我将从html表单的文本区域插入到mysql数据库中。

代码语言:javascript
复制
$sql="INSERT INTO mytable ( `username`, `firstname`, `lastname`,`about`,`email`) VALUES ('$username', '$fname', '$lname','$about','$email');";      

关于这里是文本类型列

这是我的文字区

代码语言:javascript
复制
<textarea id="oabout" name="about" rows="10" placeholder="Aboutyourself"></textarea>

如果我插入以下文本,则插入工作正常

代码语言:javascript
复制
I am a student

但是,如果我尝试插入以下文本,则会出现错误

代码语言:javascript
复制
I'm a student

错误显示为

您的SQL语法出现了错误;请检查与您的MySQL服务器版本相对应的手册,以便在第1行使用接近“m 'm‘的学生”(’abc@gmail.com‘)的正确语法。

如何进行更改,以便将第二个文本也插入数据库?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-04 20:14:31

问题似乎是你的单引号没有被逃脱。如果您正在使用PHP,这个模块将注意转义输入字符串中需要转义的所有内容:http://us3.php.net/manual/en/pdo.quote.php

对于您的usecase来说,未经测试的示例,$conn必须是mysql连接字符串:

代码语言:javascript
复制
<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');
$about = 'I'm a student';
$quotedAbout = $conn->quote($about);
print $quotedAbout;
?>

基本上,您只需为您想要自动转义的每个文本字段调用$conn->quote($someVariable)。

诚挚的问候,

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31224700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档