Page 1 sur 1

problème avec foreach

Posté : 15 janv. 2007, 18:07
par sacco
bonjour,

mon code doit me renvoyer des valeurs via comande sql. J'ai une err générée sur le foreach

<table border>
<html>
<body bgcolor=gray>
<table border>
<tr>
<th>Description de la sauvegarde</th>
<th>Date</th>
<th>Heure</th>
<th>Num</th>
<th>Résultat</th>
</tr>

<?php
// La requète SQL

$sql = 'SELECT JAction , JDate , JHeure , JInfo FROM journaltest WHERE JAction like \'Description :%\'';

sqldb = new PDO("mysql:host=localhost;dbname=test","root","") or die ("impossible d'ouvrir bdd !");

// Exécution de la requète

$stmt = $sqldb->prepare($sql);
$stmt->execute();

foreach ($sqldb->query($sql) AS $row)
   {
     $JAction1 = $row['JAction'];
		$JDate1 = $row['JDate'];
		$JHeure1 = $row['JHeure'];
		$JInfo1 = $row['JInfo'];
     	echo "<tr><td>$JAction1</td><td>$JDate1</td><td>$JHeure1</td><td>$JInfo1</td><td>$JResultat</td></tr>";
	}

?>
</table>
</body>
</html>
  
[/code]

Posté : 15 janv. 2007, 18:42
par zeus
La base d'une bonne aide sur un forum, c'est de donner le message d'erreur ;)

Il contient la plupart du temps la solution du soucis et nous le donner nous permet de t'aider le plus justement possible :D

Posté : 15 janv. 2007, 22:28
par sacco
le message est

Warning: Invalid argument supplied for foreach() in C:\wamp\www\Developtest\tableautest.php on line 33

Posté : 15 janv. 2007, 22:56
par didgar
Bonsoir,
le message est

Warning: Invalid argument supplied for foreach() in C:\wamp\www\Developtest\tableautest.php on line 33
A moins d'une erreur de copier-coller je crois qu'il manque un $ devant sqldb ci-dessous.
sqldb = new PDO("mysql:host=localhost;dbname=test","root","") or die ("impossible d'ouvrir bdd !");
A+

Didier

Posté : 15 janv. 2007, 23:12
par sacco
c'est une err de copier coller j'ai bien le $

Posté : 15 janv. 2007, 23:18
par didgar
c'est une err de copier coller j'ai bien le $
Désolé ;-)

Posté : 16 janv. 2007, 10:04
par zeus
Le message signifie que ce que tu passes au foreach n'est pas un tableau.

Quel est le retour de ta méthode $sqldb->query($sql) ?

Posté : 16 janv. 2007, 10:11
par sacco
c'est à dire

Posté : 16 janv. 2007, 10:19
par zeus
si tu fait var_dump($sqldb->query($sql)), tu obtients quoi ?

Est-ce que cette méthode retourne bien un tableau en fait :?

Posté : 16 janv. 2007, 10:56
par sacco
cela me revoi "bool(false)" pourtant cette façon de procéder marche sur un autre script que j'utilise.

Posté : 16 janv. 2007, 11:08
par Ajoloca
Bonjour,
cela me revoi "bool(false)" pourtant cette façon de procéder marche sur un autre script que j'utilise.
Je ne suis pas sur de ce que tu nous dis.

Tu fais un "prepare" par contre pas de ? ou bien de :qq_chose dans la requête ???

Ensuite pas de bindParam() ou bien execute(Array(...)) ???

Il te manque des choses essentielles ou bien tu mélanges l'utilisation de "exec()" avec "execute()".

Tu dois revoir la façon d'utiliser PDO.