如何在类中使用全局DB变量?假设我在config.php中有这个
$dbh = new PDO("mysql:host=localhost;dbname=mydb", "root", "");
Run Code Online (Sandbox Code Playgroud)
我想在这个$ dbh内部类中使用如下(MyClass.php)
class MyClass
{
public function DoSomething($plogin_id)
{
$sql = "SELECT * FROM mytable WHERE login_id = :login_id";
$stmt = $dbh->prepare($sql); //line 14
$stmt->bindParam(':login_id', $plogin_id, PDO::PARAM_STR);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的index.php文件中,我使用这个MyClass如下:
include "config.php";
$MyObject = new MyClass();
$login_result = $MyObject->DoSomething("admin");
Run Code Online (Sandbox Code Playgroud)
它给了我错误:
致命错误:在第14行的C:\ xampp\htdocs\MyProject\admin\includes\classes\MyClass.php中的非对象上调用成员函数prepare()
我在php函数中执行mysql查询时遇到一些问题.我得到的错误是
Notice: Undefined variable: link in C:\path\api\inc\restFunctions.php on line 16
Run Code Online (Sandbox Code Playgroud)
有几个文件互相调用,所以我将尝试概述必要的信息.
访问的URL:
localhost/serverList/api/rest.php?action=allServers
Run Code Online (Sandbox Code Playgroud)
SERVERLIST/API/rest.php
<?php
include 'inc/restFunctions.php';
$possibleCalls = array('allServers','allEnvs','allTypes','false');
if(isset($_GET['action'])){
$action = $_GET['action'];
}
else{
$action = 'false';
}
if(in_array($action,$possibleCalls)){
switch ($action){
case 'allServers':
$return = allServers();
break;
case 'allEnvs':
$return = allEnvs();
break;
case 'allTypes':
$return = allTypes();
break;
case 'false':
$return = falseReturn();
break;
}
}
Run Code Online (Sandbox Code Playgroud)
SERVERLIST/API/INC/restFunctions.php
<?php
include ('inc/config.php');
function allServers(){
$serverInfoQuery = "SELECT * FROM servers"
$allServerResults = $link->query($serverInfoQuery);
$json = array();
while($row = $allServerResults->fetch_assoc()){ …Run Code Online (Sandbox Code Playgroud) 我在functions.php中有一个函数列表.我正在从Mysql升级到Mysqli因为我刚刚学习Mysql现在已经折旧了.
我在顶级levelconnect.php文件中声明了我的连接.需要的第一个文件.
无论如何回到这一点我的所有函数都使用mysql_query("QUERY")并且总是工作正常.现在我将所有这些改为:
$con->query("QUERY") // ($con is my connection variable)
Run Code Online (Sandbox Code Playgroud)
现在我收到致命错误:在第241行的C:\ wamp\www\PHP\functions.php中的非对象上调用成员函数query().
所以我不明白为什么我可以查询我是否在我的整个文件中声明我的变量.它应该随处可见,我只是不确定.这使我的网站暂停,直到我能解决这个问题.这是来自functions.php的示例函数
function getSiteName()
{
$row = $con->query("SELECT * FROM siteinfo")->fetch_array();
return $row["siteName"];
}
Run Code Online (Sandbox Code Playgroud)
我的联系:
global $con ;
$con = new mysqli("localhost", "itunes89", "XXXX","projectanvil") or die("Sorry, were having server connection issues. Please try again later.");
Run Code Online (Sandbox Code Playgroud)
多谢你们!:D 我的网站,我有这个错误