Bonjour,
J'utilise une table temporaire, dans un script php, mais lors de l'exécution, j'ai le message :
Error: Table 'xxx' doesn't exist temporaire

Pourtant dans mon code j'ai la connexion à la Base de Données, le code ci-dessous, et après l'instruction mysql_close();

De plus j'ai testé l'instruction de création de table temporaire dans phpmyadmin et je n'ai pas d'erreur.

Voyez-vous pourquoi j'ai cette erreur et comment la corriger ?

Merci d'avance.


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
<?php
if($diff != 0)
{
	$prix_total = 0;
	$reser = mysql_query("SELECT * FROM reservation");
	mysql_query("CREATE TEMPORARY TABLE reservation_pro(`id_location` INT(10) NOT NULL default '', `id_semaine` INT(2) NOT NULL default '', `tarif` FLOAT(6,2) NOT NULL default '', CONSTRAINT PK_id PRIMARY KEY (`id_location`, `id_semaine`))");
	while($reservation = mysql_fetch_array($reser))
	{
		$test = true;
		$i = $date_pre['id_semaine'];
		while($test && $i<=$date_sui['id_semaine'])
		{
			$resa = mysql_query("SELECT * FROM reservation WHERE id_semaine='".$i."' AND id_location='".$reservation['id_location']."'");
			$nbr_resa = mysql_num_rows($resa);
			$res_resa = mysql_fetch_array($resa);
			if($nbr_resa = 0)
			{
				$test=false;
			}
			$prix_total .= $res_resa['tarif'];
			$i++;
		}
		if($test && ($prix_total<=$budget_maximum))
		{
			while($i<=$date_sui['id_semaine'])
			{
				$resa = mysql_query("SELECT * FROM reservation WHERE id_semaine='".$i."' AND id_location='".$reservation['id_location']."'");
				$res_resa = mysql_fetch_array($resa);
				mysql_query("INSERT INTO reservation_pro(id_location, id_semaine, tarif) VALUES('".$reservation['id_location']."', '".$i."', '".$res_resa['tarif']."')");
				$i++;
			}
		}
	}
	$req = "SELECT r.id_location FROM location_de_vacances INNER JOIN reservation_pro r ON id_location_de_vacances=r.id_location INNER JOIN planning p ON r.id_semaine=p.id_semaine WHERE pays_id='".$pays."'";
}
?>