Как выбрать конкретное поле из базы данных, используя 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().'"');
}
?>