即使在声明了全局函数之后,也可以在非对象上调用成员函数 prepare()
Call to a member function prepare() on a non-object even after declaring global function
我的文件中有 12 个函数,但出现错误显示 Call to a member function prepare() on a non-object
这是问题的增加
<?php
function getUsers() {//returns an array of users
global $db;
$list = array();
$stmt = $db->prepare('SELECT username FROM user_info');
$users = $stmt->fetch(PDO::FETCH_ASSOC);
if (is_array($users) || is_object($users))
{
foreach ($users as $user) {
array_push($list, $user[0]);
}return $list;
}
}
$users = getUsers();
function getImageURL($user) {
$stmt = $db->prepare('SELECT propic FROM user_info WHERE username=:username');
$stmt->execute(array(':username' => $user));
$source = $stmt->fetch(PDO::FETCH_ASSOC);
return $source;
}
这是我的连接文件代码
ob_start();
session_start();
//set timezone
date_default_timezone_set('Asia/Kolkata');
//database credentials
define('DBHOST','localhost');
define('DBUSER','sanoj');
define('DBPASS','123456');
define('DBNAME','1video');
//application address
define('DIR','http://www.blogtom.com/');
define('SITEEMAIL','sanoj@gmail.com');
try {
//create PDO connection
$db = new PDO("mysql:host=".DBHOST.";port=3306;dbname=".DBNAME, DBUSER, DBPASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
//show error
echo '<p class="bg-danger">'.$e->getMessage().'</p>';
exit;
}
//include the user class, pass in the database connection
include('classes/user.php');
$user = new User($db);
正如我提到的,我的文件中有 12 个函数,谁能帮我解决这个问题
终于解决了
function getUsers() {//returns an array of users
global $db;
$list = array();
$stmt = $db->prepare('SELECT username FROM user_info');
$users = $stmt->fetch(PDO::FETCH_ASSOC);
if (is_array($users) || is_object($users)) {
foreach ($users as $user) {
array_push($list, $user[0]);
}return $list;
}
}
$users = getUsers();
function getImageURL($user) {
global $db;
$stmt = $db->prepare('SELECT propic FROM user_info WHERE username=:username');
$stmt->execute(array(':username' => $user));
$source = $stmt->fetch(PDO::FETCH_ASSOC);
return $source;
}
我的文件中有 12 个函数,但出现错误显示 Call to a member function prepare() on a non-object
这是问题的增加
<?php
function getUsers() {//returns an array of users
global $db;
$list = array();
$stmt = $db->prepare('SELECT username FROM user_info');
$users = $stmt->fetch(PDO::FETCH_ASSOC);
if (is_array($users) || is_object($users))
{
foreach ($users as $user) {
array_push($list, $user[0]);
}return $list;
}
}
$users = getUsers();
function getImageURL($user) {
$stmt = $db->prepare('SELECT propic FROM user_info WHERE username=:username');
$stmt->execute(array(':username' => $user));
$source = $stmt->fetch(PDO::FETCH_ASSOC);
return $source;
}
这是我的连接文件代码
ob_start();
session_start();
//set timezone
date_default_timezone_set('Asia/Kolkata');
//database credentials
define('DBHOST','localhost');
define('DBUSER','sanoj');
define('DBPASS','123456');
define('DBNAME','1video');
//application address
define('DIR','http://www.blogtom.com/');
define('SITEEMAIL','sanoj@gmail.com');
try {
//create PDO connection
$db = new PDO("mysql:host=".DBHOST.";port=3306;dbname=".DBNAME, DBUSER, DBPASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
//show error
echo '<p class="bg-danger">'.$e->getMessage().'</p>';
exit;
}
//include the user class, pass in the database connection
include('classes/user.php');
$user = new User($db);
正如我提到的,我的文件中有 12 个函数,谁能帮我解决这个问题
终于解决了
function getUsers() {//returns an array of users
global $db;
$list = array();
$stmt = $db->prepare('SELECT username FROM user_info');
$users = $stmt->fetch(PDO::FETCH_ASSOC);
if (is_array($users) || is_object($users)) {
foreach ($users as $user) {
array_push($list, $user[0]);
}return $list;
}
}
$users = getUsers();
function getImageURL($user) {
global $db;
$stmt = $db->prepare('SELECT propic FROM user_info WHERE username=:username');
$stmt->execute(array(':username' => $user));
$source = $stmt->fetch(PDO::FETCH_ASSOC);
return $source;
}