Как выбрать конкретное поле из базы данных, используя php mdb2?

Я пытаюсь выбрать конкретный идентификатор, который автоматически генерируется базой данных оракула для конкретного пользователя сеанса (из входа в систему и работает нормально). Я использую 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 должен быть распечатан, но вместо этого есть эта ошибка: Неустранимая ошибка: вызов неопределенного метода MDB2_Error::fetchOne() в C:\wamp64\www\grahams\home.php в строке 12

1 ответ

Попробуйте использовать приведенный ниже код.

<?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().'"');
}

?>
Другие вопросы по тегам