【问题标题】:Why odbc_exec always fail?为什么 odbc_exec 总是失败?
【发布时间】:2012-12-16 18:05:55
【问题描述】:

我有这段代码,连接总是很好,但是在执行 odbc_exec() 时,它总是给我所有 sql 命令的“错误”。我正在使用 oracle 数据库,并且正在使用 DBA 权限进行连接。 在我的 php 页面中,我总是收到警告“警告:odbc_exec()”,但没有指定原因。

....
$c = odbc_connect(service_name, user, password);
if (!$c)echo 'Failed to connect';
$sql= "SELECT * FROM MEDICOS";
$result = odbc_exec($c,$sql) or die("error");
...

有人知道这里发生了什么吗? 谢谢。

【问题讨论】:

  • MEDICOS 表真的存在吗?
  • 请粘贴准确的错误
  • 是的,MEDICOS 表存在。它没有给我一个确切的错误,只是一个“警告:odbc_exec()”,但没有指定原因。 odbc_exec 始终返回 false。我已经尝试使用 oci_connect() 和 oci_parse() 但仍然停留在相同的情况:/

标签: php sql oracle odbc


【解决方案1】:

在 PHP 中使用 ODBC 连接进行查询时,我发现最好使用:

$query = odbc_prepare($con, $sql);
$result = odbc_execute($query, $_POST);

【讨论】:

  • 谢谢你的回答 :) 但还是同样的问题:/
  • 尝试将驱动程序参数添加到您的 ODBC_Connect 调用中。类似于:ODBC_Connect(Driver={Exact name of ODBC Driver}, service_name, user, password);
【解决方案2】:

解决了。我试图从另一个用户访问“SYS”是所有者的表。 如果我这样做 $sql="SELECT * FROM SYS.MEDICOS" 效果很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 2018-03-08
    相关资源
    最近更新 更多