Php 一个你认为你正在访问的。 如果模式路径产生相同的表,则可能发生这种情况 正在选择的其他架构中的名称。但我不认为这是正确的 发生这种情况是因为您提到您已尝试指定完全限定的 名称public.magnities
您没有连接到正确的数据库。你说你已经检查过了 这-如果你已经达到了这一点,但仍然没有找到我建议的原因 再次检查 问题2 无论我用什么方法尝试用PHP运行带有有效SQL语句的查询,我都不会得到任何数据 简化后,您的代码如下所示:Php 一个你认为你正在访问的。 如果模式路径产生相同的表,则可能发生这种情况 正在选择的其他架构中的名称。但我不认为这是正确的 发生这种情况是因为您提到您已尝试指定完全限定的 名称public.magnities,php,mysql,postgresql,pg-query,Php,Mysql,Postgresql,Pg Query,您没有连接到正确的数据库。你说你已经检查过了 这-如果你已经达到了这一点,但仍然没有找到我建议的原因 再次检查 问题2 无论我用什么方法尝试用PHP运行带有有效SQL语句的查询,我都不会得到任何数据 简化后,您的代码如下所示: $r = pg_query($mysqli, $q); if ($r) { // do something } 我不是php专家,但是检查文档中的pg_query我找到了它 说: 如果发生错误并返回FALSE,则如果连接有效,则可以使用pg_last_err
$r = pg_query($mysqli, $q);
if ($r)
{
// do something
}
我不是php专家,但是检查文档中的pg_query
我找到了它
说:
如果发生错误并返回FALSE,则如果连接有效,则可以使用pg_last_error()函数检索错误的详细信息
您没有检查任何错误情况。我猜这些疑问
失败,可能与上面提到的权限问题相同。我建议
将else
子句添加到调用pg\u last\u error()
并显示的代码中
结果呢
问题3
Navicat显示此错误:
ERROR: Column "proisagg" doe snot exist
LINE 1: ...e JOIN pg_language lng ON lng.oid=p.prolang WHERE proisagg = ..
HINT: Perhaps you meant to reference the column "p.prolang".
在postgresql 11之前,内部postgresql表pg_proc
包含一列
proisagg
如果行表示聚合函数,则为true
从Postgresql 11开始,此列将替换为列prokind
,其中
具有不同的值来描述行是否表示聚合函数,
窗口功能、正常功能或程序
如上所述,我不熟悉Navicat,但我猜
您正在使用的版本尚未更新以考虑此更改。可能您只是没有重命名新的连接变量,但是使用
pg\u query($mysqli,$sql\u query)
在我看来确实是可疑的。$mysqli来自pg\u pconection结果。这是一个资源。几乎没有任何SQL发布。。错误包含pg_语言的联接,别名“p”用于另一个包含字段名“lang_id”的表。。。我猜别名是“pro”,字段是“isagg”,但圆点被意外删除了。在完整的代码中搜索SQL片段!因此,软件重新创建了一个额外的数据库连接,该连接在repo之外被引用。原始源代码中用过期的数据库资源覆盖工作数据库资源的部分。谢谢问题2-以前有逻辑。我把它放回去了。问题3-我不确定这个错误是否重要。
INSERT INTO campaigns (userid, app, from_name, from_email, reply_to, title, label, plain_text, html_text, query_string, bounce_setup, complaint_setup, wysiwyg, opens_tracking, links_tracking) VALUES (2, 152, 'Person Name', 'campaignsupport@company.com', 'campaignsupport@company.com', 'Test', '', 'Test plain text.', 'asdf', '', 0, 0, 1, 1, 1)
pg_query(): Query failed: ERROR: permission denied for table campaigns
SELECT current_user;
$r = pg_query($mysqli, $q);
if ($r)
{
// do something
}
ERROR: Column "proisagg" doe snot exist
LINE 1: ...e JOIN pg_language lng ON lng.oid=p.prolang WHERE proisagg = ..
HINT: Perhaps you meant to reference the column "p.prolang".