Bonjour, j'ai essayé déjà de trouver des solutions sur ce forum, mais les autres discutions sur le même sujet ne m'ont pas aidé malheureusement.

Mon erreur est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Fatal error: Call to a member function Sql() on a non-object in C:\wamp\www\LocatVacance\include\a_1_pagedannonce.php on line 170
Donc voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$db=new db;
$annonce = $_GET['annonce'];
 
$aa=$_POST['golf'];
//...
$ar=$_POST['baignade'];
if($_POST['hid']==1)
{
	$db->Sql("Insert into annonce_activite (IdAActivite, golf, randonnee, tennis, VTT, equitation, casino, cinema, discotheque, bowling, parcdeloisir, nautique, rafting, peche, thalassotherapie, ski, thermalisme, patinoire, baignade) VALUES ('', '$aa', '$ab', '$ac', '$ad', '$ae', $af', '$ag', '$ah', '$ai', '$aj', '$ak', '$al', '$am', '$an', '$ao', '$ap', '$aq', '$ar')");
}
if($_POST['hid']==2)
{
	$db->Sql("UPDATE annonce_activite SET golf='$aa', randonnee='$ab', tennis='$ac', VTT='$ad', equitation='$ae', casino='$af', cinema='$ag', discotheque='$ah', bowling='$ai', parcdeloisir='$aj', nautique='$ak', rafting='$al', peche='$am', thalassotherapie='$an', ski='$ao', thermalisme='$ap', patinoire='$aq', baignade='$ar' WHERE IdAActivite = '$annonce'");
}
 
//Je fais encore 7 requêtes comme celle là.
 
 
$da=$_POST['refrigerateur'];
$db=$_POST['congelateur'];
$dc=$_POST['microondes'];
$dd=$_POST['four'];
$de=$_POST['plaquedecuisson'];
$df=$_POST['lavevaisselle'];
$dg=$_POST['lavelinge'];
$dh=$_POST['sechelinge'];
$di=$_POST['cafetière'];
$dj=$_POST['grillepain'];
if($_POST['hid']==1)
{
	$db->Sql("Insert into annonce_electromenager(IdAElectromenager, refrigerateur, congelateur, microondes, four, plaquesdecuisson, lavevaisselle, lavelinge, sechelinge, cafetiere, grillepain) VALUES ('', '$da', '$db', '$dc', '$dd', '$de', '$df', '$dg', '$dh', '$di', '$dj')");
}
if($_POST['hid']==2)
{
	$db->Sql("UPDATE annonce_electromenager SET refrigerateur='$da', congelateur='$db', microondes='$dc', four='$dd', plaquesdecuisson='$de', lavevaisselle='$df', lavelinge='$dg', sechelinge='$dh', cafetiere='$di', grillepain='$dj' WHERE IdAElectromenager = '$annonce'");
}
La ligne 170 correspond ici à l'avant dernière ligne, soit le dernier UPDATE.
Les autres sont exécutés convenablement en ayant malgré tout la même syntaxe.

Je vous mets le code de mon db.php qui contient toutes les fonctions en relation avec la bdd.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
class DB
{
	function Init()
	{
		$Base = mysql_connect('localhost', 'root', '') or die('Erreur : mysql_connect');
		mysql_selectdb('LocatVacance');
	}
 
	function Sql($requete)
	{
		if(!$Base)
			$db = new db;
		$db->Init();
		$res = mysql_query($requete) or die('Erreur SQL : $query</br>'.mysql_error());
		return $res;
		return FALSE;
	}
 
	function SqlToArray($requete)
	{
		$db = new db;
		$res = $db->Sql($requete);
		$tab = array();
		while($row = mysql_fetch_array($res))
		{
			$tab[] = $row;
		}
		return $tab;
	}
}
J'ai regardé un peu partout, et je ne vois vraiment pas pourquoi celle ci ne marche pas tandis que les autres s'exécutent sans problème.

Merci d'avance pour votre aide.