从Windows环境过渡到Linux(但始终在sql server中)之后,我发现了一些困难。
我尝试了不同的方法:exec,execute,query->相同的错误
我的班bd是这样的:
<?php
class BD {
// ---- Partie Privé : Les propriétés --------
var $connexion, $connectBase, $db;
// ---- Constructeur de la class -------------
function BD() {
//paramètres de connexion
if(file_exists("config/config.inc.php"))
include("config/config.inc.php");
elseif(file_exists("../config/config.inc.php"))
include("../config/config.inc.php");
$db=new PDO("dblib:host=servername;dbname=dbname", 'login', 'pass');
$this->db = $db;
$db->debug=true;
//Fin du constructeur
}
在这个课上我有这个功能:
function exereq($requete) {
$resultat = $this->$db->Exec($requete) or die("Erreur lors de
l'execution de la requête : <br>".$requete."<br>".$this->db-
>errorInfo());
//test de la requete
if(!$resultat) {
$this->message("Problème lors de l'execution de la
requête : <br>".$requete."<br>".$this->db->errorInfo());
}
return $resultat;
}
在另一个文件中,我这样称呼它:
require_once("config/config.inc.php");
require_once("includes/bd.class.php");
require_once("includes/functions.php");
global $bd;
$bd = new BD();
if(isset($_GET['ORDER_ID']) && $_GET['ORDER_ID'] != '') {
$select_order = "SELECT ORDER_NUMBER FROM EP_ORDER WHERE
EP_ORDER.ORDER_ID = ".$_GET['ORDER_ID'];
$res_select_order = $bd->exereq($select_order);`
我有错误PHP致命错误:无法在第63行的ftvdev / impmat / includes / bd.class.php中访问空属性。执行该函数的行。