par
wwwbillgates » 11 avr. 2022, 14:40
Bonjour, en voulant passer de la version de PHP 5.5 vers la version PHP 7 (oui j'ai un peu de retard)
Je me retrouve confronté à l'erreur suivante :
Fatal error: Uncaught Error: Using $this when not in object context in C:\PROGS\wamp\www\site\configurator\viewer\bd.php on line 20
( ! ) Error: Using $this when not in object context in C:\PROGS\wamp\www\site\configurator\viewer\bd.php on line 20
La ligne 20 du code ci-dessous étant :
mysqli_query($this->db_connect, 'SET NAMES \'utf8\'') or die('error');
Le problème est que, comme je n'est pas fait ce code et que je fais mes requêtes en PDO alors ce langage me semble inconnu et est même peut être obsolète
Par conséquent je me permet de solliciter votre aide afin de me conseiller sur la modification de ce code car il semble y avoir une expression qui ne fonctionne plus après les maj de PHP 5.5 ?
Merci beaucoup pour votre aide !
$type_connect=0;
$port=null;
$serv=DB_HOST;
$p=explode(':',$serv);
if (isset($p[1]))
{
$port=$p[1];
}
// Se connect visiblement dans la BDD
if (function_exists('mysqli_connect'))
{
$type_connect=1;
$bdd_az=mysqli_connect($p[0], DB_USER, DB_PASSWD, DB_NAME,$port);
mysqli_query($this->db_connect, 'SET NAMES \'utf8\'') or die('error');
}
else
{
echo 'ERREUR PROBLEME MYSQL';
}
//écrit visiblement dans la BDD
$requete_az=array();
$tables_az=array('az_byproduct','az_bysession','az_byfields');
$requete_az['az_byproduct']='CREATE TABLE IF NOT EXISTS `az_byproduct` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`svg` mediumtext NULL,
`propriete` mediumtext NULL,
`actif` tinyint default \'1\',
PRIMARY KEY (`id`)
) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci';
$requete_az['az_byfields']='CREATE TABLE IF NOT EXISTS `az_byfields` (
`id_product` int(11) unsigned NOT NULL,
`label` varchar(60) NOT NULL,
`type` tinyint(1) NOT NULL,
`field` varchar(60) NOT NULL,
`value` text NOT NULL,
PRIMARY KEY (`id_product`,`type`,`field`,`label`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8';
$requete_az['az_bysession']='CREATE TABLE IF NOT EXISTS `az_bysession` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`keydata` varchar (15) NULL ,
`agent` varchar (32) NULL ,
`data` text NULL,
`date` date NOT NULL,
KEY `agent` (`agent`),
PRIMARY KEY (`id`)
) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci';
Bonjour, en voulant passer de la version de PHP 5.5 vers la version PHP 7 (oui j'ai un peu de retard) :roll:
Je me retrouve confronté à l'erreur suivante :
[quote]
Fatal error: Uncaught Error: Using $this when not in object context in C:\PROGS\wamp\www\site\configurator\viewer\bd.php on line 20
( ! ) Error: Using $this when not in object context in C:\PROGS\wamp\www\site\configurator\viewer\bd.php on line 20
La ligne 20 du code ci-dessous étant :
mysqli_query($this->db_connect, 'SET NAMES \'utf8\'') or die('error');
[/quote]
Le problème est que, comme je n'est pas fait ce code et que je fais mes requêtes en PDO alors ce langage me semble inconnu et est même peut être obsolète :?
Par conséquent je me permet de solliciter votre aide afin de me conseiller sur la modification de ce code car il semble y avoir une expression qui ne fonctionne plus après les maj de PHP 5.5 ?
Merci beaucoup pour votre aide !
[PHP]
$type_connect=0;
$port=null;
$serv=DB_HOST;
$p=explode(':',$serv);
if (isset($p[1]))
{
$port=$p[1];
}
// Se connect visiblement dans la BDD
if (function_exists('mysqli_connect'))
{
$type_connect=1;
$bdd_az=mysqli_connect($p[0], DB_USER, DB_PASSWD, DB_NAME,$port);
mysqli_query($this->db_connect, 'SET NAMES \'utf8\'') or die('error');
}
else
{
echo 'ERREUR PROBLEME MYSQL';
}
//écrit visiblement dans la BDD
$requete_az=array();
$tables_az=array('az_byproduct','az_bysession','az_byfields');
$requete_az['az_byproduct']='CREATE TABLE IF NOT EXISTS `az_byproduct` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`svg` mediumtext NULL,
`propriete` mediumtext NULL,
`actif` tinyint default \'1\',
PRIMARY KEY (`id`)
) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci';
$requete_az['az_byfields']='CREATE TABLE IF NOT EXISTS `az_byfields` (
`id_product` int(11) unsigned NOT NULL,
`label` varchar(60) NOT NULL,
`type` tinyint(1) NOT NULL,
`field` varchar(60) NOT NULL,
`value` text NOT NULL,
PRIMARY KEY (`id_product`,`type`,`field`,`label`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8';
$requete_az['az_bysession']='CREATE TABLE IF NOT EXISTS `az_bysession` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`keydata` varchar (15) NULL ,
`agent` varchar (32) NULL ,
`data` text NULL,
`date` date NOT NULL,
KEY `agent` (`agent`),
PRIMARY KEY (`id`)
) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci';
[/PHP]