我正在尝试选择一个由oracle数据库自动为特定会话用户生成的特定ID(从登录及其工作情况来看)。我正在使用MDB2来实现这一点。我关注的是梨子:MDB2手册,按原样进行了编码,但是出现错误。请帮忙。
我已经使用fetchOne(MDB2_FETCHMODE_ASSOC)从阅读手册中实现了这一点并给出了错误
<?php
session_start();
$user = $_SESSION['user'];
echo "Welcome:\t".$user;
require_once 'MDB2.php';//pear MDB2
include "conn.php";
$do= "SELECT customer_id FROM customer WHERE username=".$user;
$query= $db->query($do);
if($one=$query->fetchOne(MDB2_FETCHMODE_ASSOC)){
$id= $one['customer_id'];
echo ($id);
}
?>
应该打印出数字2,但是出现以下错误: 致命错误:在第12行的C:\ wamp64 \ www \ grahams \ home.php中调用未定义的方法MDB2_Error :: fetchOne()
答案 0 :(得分:0)
尝试使用以下代码。
<?php
session_start();
$user = $_SESSION['user'];
echo "Welcome:\t".$user;
require_once 'MDB2.php';//pear MDB2
include "conn.php";
$do= "SELECT customer_id FROM customer WHERE username=".$user;
$id = queryOne($do);
if(isset($id))
{
echo $id;
}
?>
由于queryOne()查询数据库并从给定查询中选择列。
编辑: 在conn.php中检查连接是否正常。以下是示例代码。
<?php
$dsn = array(
'phptype' => 'oci8',
'hostspec' => null,
'username' => 'oci_username',
'password' => 'oci_password',
);
// Establish database connection
$db = MDB2::connect($dsn);
// Check if the connection was established successfully
if (PEAR::isError($db)) {
die('Could not create database connection. "'.$db->getMessage().'"');
}
?>