首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法删除MySQL DB条目

问无法删除MySQL DB条目
EN

Stack Overflow用户
提问于 2012-03-31 10:08:40
回答 5查看 90关注 0票数 0

这是我第一次在MySQL中设置数据库并使用它们,所以我将非常感谢任何帮助,因为我几个小时的在线搜索并没有帮助我解决这个错误。

我基本上在我的数据库中有一个表。机场: Title- 3字符& PublicKey机场名称- 100字符非空

我已经用php编写了一个网页,它应该允许我删除我的条目,这取决于我选择的条目。

简而言之,这是我的php:

代码语言:javascript
复制
 $result = mysql_query("DELETE FROM airport WHERE Title=$Title")
 or die(mysql_error()); 

它给出了这个错误:

代码语言:javascript
复制
Unknown column 'ABC' in 'where clause'

如果我在phpmyadmin中运行以下命令:

代码语言:javascript
复制
DELETE FROM airport WHERE Title=ABC

它给出了这个错误:

代码语言:javascript
复制
Unknown column 'ABC' in 'where clause'

如果我在phpmyadmin中运行它,它可以工作:

代码语言:javascript
复制
DELETE FROM airport WHERE Title="ABC"

但是如果我在php代码中添加引号,页面就会死掉。有什么建议吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-03-31 10:13:53

由于您数据库的标题字段是varchar,因此最好使用单引号对$title进行编码,并使用mysql_real_escape_string清除不安全的数据库字符。像这样:

代码语言:javascript
复制
$result = mysql_query(sprintf("delete from airport where title = '%s'", mysql_real_escape_string($title));
票数 1
EN

Stack Overflow用户

发布于 2012-03-31 10:11:59

您需要使用'ABC'对ABC进行报价

票数 1
EN

Stack Overflow用户

发布于 2012-03-31 10:14:30

你也可以转义为“如果你不想使用”,你也应该清理你在查询中使用的所有变量。

代码语言:javascript
复制
$Title = mysql_real_escape_string($Title);
$result = mysql_query("DELETE FROM airport WHERE Title=\"$Title\"");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9952403

复制
相关文章

相似问题

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