gpt4 book ai didi

php - SQL 引用在一台服务器上产生 sql 语法错误,而不是另一台服务器

转载 作者:行者123 更新时间:2023-11-30 22:55:16 24 4
gpt4 key购买 nike

奇怪的是,我将站点和数据库从一台 LAMP 服务器移到了另一台。在旧服务器上,用户可以毫无问题地将文本输入到包含引号的文本区域。我假设它在 php 或 sql 配置文件中,问题是,我在旧站点上的主机不会提供这些文件,所以我不确定要更改什么。知道为什么它适用于一个而不适用于另一个吗?

以下是以防万一的代码行:

mysql_query("UPDATE Stu SET Stu_IDD = '$snumd', First = '$first', Last = '$last', 
MPhone = '$mphone', HPhone = '$hphone', EContact = '$econtact',
EPhone = '$ephone', GMail = '$gmail', PMail = '$pmail',
Address = '$address', Apt = '$apt', Pcode = '$pcode',
City = '$city', DOB = '$dob', Gender = '$gender',
Deaf = '$deaf', Notes = '$notes'
WHERE Stu_ID = '$snum'")
or die(mysql_error());

非常感谢您的宝贵时间和答复!

最佳答案

On the old server users can enter text into text areas that include quotes with no problem.

看起来你的引号在旧服务器上自动转义了,可能是因为旧 php 版本中名为 Magic Quotes 的设置。 .

此“功能”已被弃用和删除,不应依赖它来为数据库转义数据。

您应该切换到 PDO 或 mysqli 并使用带有绑定(bind)参数的准备好的语句。

关于php - SQL 引用在一台服务器上产生 sql 语法错误,而不是另一台服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26663348/

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