2012-12-16 171 views
0

我有这段代码,连接总是很好,但是执行odbc_exec()时总会给我一个所有sql命令的“错误”。我正在使用Oracle数据库,并且正在使用DBA特权进行连接。 在我的PHP页面,我总是会收到警告“警告:odbc_exec()”,但没有指定任何理由。为什么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"); 
... 

任何人都知道这里发生了什么? 谢谢。

+0

'MEDICOS'表真的存在吗? – GBD

+0

请贴上确切的错误 – GBD

+0

是的MEDICOS表存在。它不给我一个确切的错误,只有一个“警告:odbc_exec()”,但没有指定的原因。 odbc_exec总是返回false。我已经尝试使用oci_connect()和oci_parse(),但仍然停留在相同的情况下:/ – Afaria

回答

0

解决。我试图从另一个用户那里获取,“SYS”是所有者的表。 如果我做$ sql =“选择*从SYS.MEDICOS”它运作良好。

0

当与PHP ODBC连接查询,我发现这是更好地使用:

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

感谢您回答:)但仍然是同样的问题:/ – Afaria

+0

尝试向您的ODBC_Connect调用添加驱动程序参数。例如:ODBC_Connect(Driver = {ODBC Driver的确切名称},service_name,user,password); – user1903020