Php 如何解决;致命错误:调用成员函数query();
刚刚将database.php文件从MySQL更改为PDO。但我得到了一个错误: 致命错误:在第19行的/home/mypath/mydomain.com/library/database.php中对非对象调用成员函数query() 它在做出改变的个人的网站上运行良好。但当上传到我的网站时,它会产生这个错误,不知道为什么。我使用DreamHost。怎么了 第19行:Php 如何解决;致命错误:调用成员函数query();,php,mysql,pdo,dreamhost,Php,Mysql,Pdo,Dreamhost,刚刚将database.php文件从MySQL更改为PDO。但我得到了一个错误: 致命错误:在第19行的/home/mypath/mydomain.com/library/database.php中对非对象调用成员函数query() 它在做出改变的个人的网站上运行良好。但当上传到我的网站时,它会产生这个错误,不知道为什么。我使用DreamHost。怎么了 第19行: $result = $pdo->query($sql); 之前的代码: <?php require_once
$result = $pdo->query($sql);
之前的代码:
<?php
require_once 'config.php';
try {
$conn = new PDO("mysql:host=$servername;dbname=onlysecret_db", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
function dbQuery($sql)
{
global $pdo;
$result = $pdo->query($sql);
return $result;
}
这是因为您正在访问$pdo
,这是一个不存在的变量
将$pdo
更改为$conn
:
function dbQuery($sql)
{
global $conn;
$result = $conn->query($sql);
return $result;
}
…但我建议不要使用global
,而是将$conn
作为参数传递给函数。“$result=$pdo->query($sql);”-这不是什么标题。实际上很糟糕。您的PDO连接是$conn
,而不是$PDO
…请仔细查看您的变量