将 database.php 文件从MySQL更改为PDO。但是我收到了这个错误:
致命错误:在第19行的/home/mypath/mydomain.com/library/database.php中调用非对象的成员函数query()
在进行更改的个人网站上工作正常。但是当上传到我的网站时,它会产生这个错误,不知道为什么。我使用DreamHost。怎么了?
第19行:
$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;
}
答案 0 :(得分:0)
这是因为您正在访问$pdo
,这是一个不存在的变量。
将$pdo
更改为$conn
:
function dbQuery($sql)
{
global $conn;
$result = $conn->query($sql);
return $result;
}
...但我建议不要使用global
,而是将$conn
作为参数传递给函数。