gpt4 book ai didi

mysql - 在 mysql 数据库中插入文本显示错误

转载 作者:行者123 更新时间:2023-11-29 12:07:29 25 4
gpt4 key购买 nike

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

$sql="INSERT INTO mytable ( `username`, `firstname`, `lastname`,`about`,`email`) VALUES ('$username', '$fname', '$lname','$about','$email');";      

这里是TEXT类型栏
这是我的文本区域

<textarea id="oabout" name="about" rows="10" placeholder="Aboutyourself"></textarea>

如果我插入以下文本,那么插入效果很好

I am a student

但是如果我尝试插入以下文本,我会收到错误

I'm a student

错误显示为

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'm a student','abc@gmail.com')' at line 1

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

最佳答案

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

针对您的用例未经测试的示例,$conn 必须是您的 mysql 连接字符串:

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

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

最诚挚的问候,

关于mysql - 在 mysql 数据库中插入文本显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31224700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com