Php 使用别名表进行OCI_分析

Php 使用别名表进行OCI_分析,php,sql,oracle,oracle-call-interface,Php,Sql,Oracle,Oracle Call Interface,我对PHP的Oracle解析器有问题。如果我使用表的别名发送对所有表的请求,我会得到一个不一致的数据类型错误。有人知道如何处理星号吗 这很烦人,因为我不想键入字段名。星号在不使用表别名时有效,因此它应该有效。Oracle并不介意,因此它是php解析器中的一部分 例如: 是si.*导致了问题 有什么想法吗 你试过PDO的吗?我也用过类似的方法,没有遇到任何问题。这不是你想听到的,但SELECT*在生产系统中是不好的做法。明确列出列是可取的,即使这意味着你需要更多的时间。我不认为星号si.*本身就是

我对PHP的Oracle解析器有问题。如果我使用表的别名发送对所有表的请求,我会得到一个不一致的数据类型错误。有人知道如何处理星号吗

这很烦人,因为我不想键入字段名。星号在不使用表别名时有效,因此它应该有效。Oracle并不介意,因此它是php解析器中的一部分

例如:

是si.*导致了问题


有什么想法吗

你试过PDO的吗?我也用过类似的方法,没有遇到任何问题。这不是你想听到的,但SELECT*在生产系统中是不好的做法。明确列出列是可取的,即使这意味着你需要更多的时间。我不认为星号si.*本身就是问题所在。而是si表中导致问题的列之一。请逐个添加所有si列,直到出现错误,并让我们知道该列的定义数据类型。大家好,为回复干杯,非常有用,也非常正确。对*的解析没有问题,实际上是一个数据类型问题——我真的应该从我得到的错误中猜到这一点。其中一列是一个oracle spatial geometry对象,这让PHP解析器大吃一惊。所以问题解决了。cWallenPole:我通常在MySQL连接中使用PDO,但在Oracle中使用PDO时遇到了巨大的困难。我更喜欢OCI_CONNECT的更好解决方案,因为它不是最健壮的
SELECT u.FIRSTNAME, u.LASTNAME, u.PHONE, u.USER_EMAIL, o.ORG_NAME, s.SITE_STREET
       , s.SITE_TOWN,s.SITE_COUNTY, s.SITE_POSTCODE, s.FK_BOROUGH_ID
       , o.WEBSITE, si.* etc etc