首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >带有ODBC Firebird驱动程序的PHP中不带FROM子句的SQL SELECT

带有ODBC Firebird驱动程序的PHP中不带FROM子句的SQL SELECT
EN

Stack Overflow用户
提问于 2018-06-14 21:46:26
回答 2查看 527关注 0票数 2

我可以像这样用火鸟驱动连接一个.eft数据库文件:

代码语言:javascript
复制
$pdo = new PDO("odbc:DRIVER={Firebird/InterBase(r) driver}; dbname=$dbName;", $user, $pass);

当我尝试执行一个简单的查询时

代码语言:javascript
复制
$stmt = pdo()->exec("select 1+1 as somma");

结果是:

致命错误:未捕获异常'PDOException‘,在D:\PROGRAMMAZIONE\ricoplast\com\db.php:25中显示消息'SQLSTATEHY000: General error:-104 ODBC Firebird DriverDynamic SQL Error SQL error code = -104命令行1,第15列意外结束(SQLExecDirect-104 at ext\pdo_odbc\odbc_driver.c:247)’

有人能帮我吗?

PS:当我用不同的ODBC驱动程序做同样的事情时:

$pdo = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; ...查询起作用了。

EN

回答 2

Stack Overflow用户

发布于 2018-06-14 21:55:03

问题是

代码语言:javascript
复制
select 1+1 as somma

不是有效的Firebird查询,您需要有一个从中选择的表。试一试

代码语言:javascript
复制
select 1+1 as somma from rdb$database

Firebird中的rdb$database表类似于Oracle中的dual

票数 3
EN

Stack Overflow用户

发布于 2018-06-21 04:53:08

谢谢大家。我找到了问题所在。当我必须执行查询时,我必须将字段放在"之间,这样db才能识别列。

另一个问题:如何在我的数据库名称上绕过空格。我必须使用我的客户的名字db。它看起来像name something.eft,但是如果我使用这个名字,火鸟就会说他找不到数据库

代码语言:javascript
复制
SQLDriverConnect: -902 [ODBC Firebird Driver]File Database is not found'

有谁可以改天再帮我吗?

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

https://stackoverflow.com/questions/50859054

复制
相关文章

相似问题

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