社区首页 >问答首页 >pg_query():查询失败:错误:列不存在

pg_query():查询失败:错误:列不存在
EN

Stack Overflow用户
提问于 2017-06-12 21:33:23
回答 1查看 3.4K关注 0票数 0

我确实在这里遵循了解决方案:query():查询失败: ERROR:语法错误在或接近,但仍然有以下错误:

警告: pg_query():查询失败:错误:列"rosmoffi“不存在第1行:.“Code_Espece”=Rosmoffi ^

这是我的密码:

代码语言:javascript
代码运行次数:0
复制
$conn = pg_connect($conn_string);

$query = 'SELECT * FROM public."espece" where "espece"."Code_Espece" ='.$idd ;
if (!$result = pg_query($conn, $query)){
    echo  pg_result_error ($conn);
    return false;
}
$result = db($result); 
return $result;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-12 21:39:49

代码语言:javascript
代码运行次数:0
复制
$query = 'SELECT * FROM public."espece" where "espece"."Code_Espece" ='.$idd ;

别这么做。如果要输出在这里得到的内容,就会看到错误,就像从错误消息中看到的一样。变量$idd中的任何内容都将按原样放入查询中,它将不被视为字符串。这只是查询的一部分。因此,由于没有引号,所以在本例中,它将被理解为列名。

最糟糕的是,如果$idd来自用户,想想当有人将其设置为1; truncate table espece时会发生什么。或者更糟的事。学习如何立即使用 参数 .

使用参数,您的代码如下:

代码语言:javascript
代码运行次数:0
复制
$query = 'SELECT * FROM public."espece" where "espece"."Code_Espece" =$1';
if (!$result = pg_query_params($conn, $query, array($idd))){

这样,变量就被正确地赋予了数据库,并且没有注入漏洞。

NB!对于那些一直说双引号应该删除的人来说,不行。他们不应该。如果列名大写为Code_Espece,那么如果没有引号,PostgreSQL就不会识别它。通常不推荐大写。

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

https://stackoverflow.com/questions/44513054

复制
相关文章
mysql连接失败HikariPool错误
1. mysql连接失败HikariPool错误 1.1. 异常 com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization. 1.2. 解决 引起程序无法启动的问题是 com.zaxxer.hikari.pool.HikariPool 没能成功被 Spring 创建,原因是你的时区配置的有歧义,你需要在 jdbc url 后加上 &serverTimezone=Asia/Shanghai 这
老梁
2019/09/10
10K0
Hive中排除SELECT查询列
在 Hive 表中可能存在很多列,也有可能就存在几列。如果我们想要表中所有列,毫无疑问我们可以使用 SELECT *。但在某些情况下,我们可能拥有 100 多列,并且我们只不需要其中几列。在这种情况下,之前都是手动的添加 SELECT 查询中的所有列名。由于列数很多,比较啰嗦。因此,我们希望能在 Hive 中从 SELECT 查询中排除某些列。
smartsi
2019/11/27
5.6K0
记录mybatis分页查询失败[通俗易懂]
在进行mybatis的分页查询时出现ExceptionInIntializerError错误
全栈程序员站长
2022/09/05
9260
记录mybatis分页查询失败[通俗易懂]
云图数据查询失败,超时
查询数据库失败, Query inactivity timeout[21004],请问这要在哪里更改查询的时间?急。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
用户1084156
2019/09/10
2.1K1
AlphaBlend失败,错误码87
如题,写测试程序的时候遇到了AlphaBlend函数失败,使用getlasterror获取错误码是87。找错找了好久,下面记录下。
大菊观
2020/03/19
1.5K0
聊聊mysql的多列组合查询
• mysql-filtering-by-multiple-columns[1] • selecting-where-two-columns-are-in-a-set[2]
code4it
2022/04/15
4.6K0
聊聊mysql的多列组合查询
序 本文主要展示如何使用mysql的多列组合查询 何为多列组合查询呢,就是查询的值不再是单个列的值,而是组合列的值。比如where (column1,column2) in ((a1,b1),(a2,b2),(a3,b3)) 实例 建表 create table t_demo( id int NOT NULL AUTO_INCREMENT PRIMARY KEY, name varchar(10), score int ); insert into t_demo(name,score)
code4it
2022/04/02
4K0
在EasyGBS平台使用宇视sdk录像查询出现错误码导致录像查询失败,该如何解决?
EasyGBS是基于GB28181协议的视频平台,拥有视频直播、录像、存储、检索与回放、云台控制、告警上报、语音对讲、平台级联等功能。平台可提供流媒体接入、处理、转发等服务,支持内网、公网的监控设备通过国标GB/T28181协议进行视频监控直播。
TSINGSEE青犀视频
2022/10/11
1.1K0
loadlibrary 失败 java_LoadLibrary失败,错误代码为14001
我正在使用Visual C 2008 Express Edition来创建仅限资源的DLL . 我面临的问题是运行在除了我的另一台计算机上使用DLL的应用程序导致LoadLibrary()函数失败,错误代码为14001 .
全栈程序员站长
2022/09/14
7460
msyql查询数据库中不存在的记录
有时候,需要往数据库里插入数据,这些数据,有些已经在MySQL中。但这种导入的工作,只是临时性的,又想专门写一个脚本去判断是否存在数据库,不存在就插入。这里提供一个骚操作,可以直接用MySQL查看哪些不在数据库的,然后再插入。
用户10002156
2023/08/07
2790
msyql查询数据库中不存在的记录
MySQL查询表位置和列注释等
; # 查询表在哪个数据库与注释 SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_COMMENT FROM information_schema.TABLES WHERE 1=1 # AND TABLE_SCHEMA = '数据库名' AND TABLE_NAME = '表名' # AND TABLE_COMMENT = '表注释' ; # 查询列在哪个表与注释 SELECT c.TABLE_SCHEMA, c.TABLE_NAME, t.TABLE_COMMENT, COL
林万程
2018/06/21
3K0
如何修复WordPress更新失败/发布失败错误,您可能已掉线
WordPress CMS是一个完全开源的工具,对用户免费,但是,由于插件等原因,有时会出现一些奇怪的错误消息,这些WordPress错误可能会影响网站的效果,也可能会给网站带来意想不到的后果。
晓得博客
2021/04/07
7.9K0
hadoop错误代码查询
经常遇到的exception是:PipeMapRed.waitOutputThreads(): subprocess failed with code N "OS error code 1: Operation not permitted" "OS error code 2: No such file or directory" "OS error code 3: No such process" "OS error code 4: Interrupted system call" "OS erro
闵开慧
2018/03/30
2.3K0
loadlibrary函数失败,错误码:126
在项目中调用LoadLibrary函数加载dll文件,目录和文件名都是正确的,但是函数报错,GetLastError函数返回126.
全栈程序员站长
2022/09/14
1.8K0
hive中常量列的添加和查询
在正常应用场景中,常常会从HIVE中直接获取某个DATAFRAME,这个dataframe除了与数据表中某些字段的提取,还往往会涉及到一些常量列的添加,用以如区分数据等场景。
sparkexpert
2022/05/07
1.2K0
hive中常量列的添加和查询
使用 MySQL 5.7 虚拟列提高查询效率
大约两年前,我发表了一个在MySQL5.7版本上关于虚拟列的文章。从那时开始,它成为MySQL5.7发行版当中,我最喜欢的一个功能点。原因很简单:在虚拟列的帮助下,我们可以创建间接索引(fine-grained indexes),可以显著提高查询性能。我要告诉你一些技巧,可以潜在地解决那些使用了GROUP BY 和 ORDER BY而慢的报表查询。
wubx
2019/02/27
4.1K0
Oracle查询表位置和列注释等
-- 注释 SELECT t.TABLE_NAME, t.COMMENTS, c.COLUMN_NAME, c.COMMENTS FROM USER_COL_COMMENTS c JOIN USER_TAB_COMMENTS t ON c.TABLE_NAME = t.TABLE_NAME WHERE 1 = 1 -- AND t.TABLE_NAME = '' -- AND t.COMMENTS like '%%' -- AND c.COLUMN_NAME = '' --
林万程
2020/06/16
9830
使用MySQL 5.7虚拟列提高查询效率
大约两年前,我发表了一个在MySQL5.7版本上关于虚拟列的文章。从那时开始,它成为MySQL5.7发行版当中,我最喜欢的一个功能点。原因很简单:在虚拟列的帮助下,我们可以创建间接索引(fine-grained indexes),可以显著提高查询性能。我要告诉你一些技巧,可以潜在地解决那些使用了GROUP BY 和 ORDER BY而慢的报表查询。
wubx
2019/04/24
2K0
Spring Batch BATCH_JOB_INSTANCE 表不存在错误
java.sql.SQLSyntaxErrorException: (conn=12433) Table 'usrealestate.BATCH_JOB_INSTANCE' doesn't exist
HoneyMoose
2022/10/11
7310
Spring Batch BATCH_JOB_INSTANCE 表不存在错误
Fundebug:JavaScript插件支持过滤特定属性不存在的错误
摘要: Fundebug的JavaScript错误监控插件更新至0.4.0,支持过滤特定属性不存在的错误。
Fundebug
2020/01/02
9770

相似问题

pg_query():查询失败:错误:列"x“不存在第2行:设置name=x

30

pg_query():查询失败:错误:运算符不存在:整数~~未知\n

10

警告: pg_query():查询失败:错误:文本数组

10

Postgres警告: pg_query():查询失败:错误:操作符不存在:布尔=整数行1

27

警告: pg_query():查询失败:错误:语法错误在或接近

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档