Rechercher : dans
Par :

Problème PHP - test de My SQL

Dernière réponse le 20 avr 2009 à 22:13:52 ejay03, le 19 avr 2009 à 22:01:43 
 Signaler ce message aux modérateurs

Bonjour,

je me lance dans l'apprentissage de MySQL et PHP, j'ai acheter un livre... j'ai suivi de prêt leur exemple, j'ai chercher mon erreur, regarder sur le net ce qui se faisait... bref je ne comprend toujours pas mon erreur. Je sollicite votre aide. Toutes suggestions sont les bienvenues. Merci d'avance.

<?php
/* Progamme: mysql_up.php
* desc: Se connecte au serveur MySQL et
* affiche les paramètres.
*/
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
<body>";
$host="localhost";
$user="";
$password="";

$cxn=mysqli_connect($host,$user,$password);
$sql="SHOW STATUS";
$result=mysql_query($cxn,$sql);
if($result == false)
{
echo "<h4>Erreur: ".mysql_error($cxn). "</h4>;
}
else
{
/* Tableau affichant les résultats */
echo "<table border='l'>
<tr><th>Nom_Variable</th>
th>Valeur</th></tr>";

for($i = 0; $i < mysqli_num_row($result); $i++)
{
echo "<tr>";
$row_array = mysqli_fetch_row($result);
for($j = 0;$j < mysqli_num_fields($result);$j++)
{
echo "<td>".$row_array[$j]."</td>\n";
}
}
echo "</table>";
}
?>
</body>
</html>


-->Parse error: parse error, expecting `','' or `';'' in C:\Program Files\EasyPHP 3.0\www\test-mysql.php on line 23

Configuration: Windows XP
Firefox 3.0.8
Easyphp 3

1

Adenora, le 19 avr 2009 à 22:07:26

Bonsoir, essaie ceci :

<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
<body>
<?php
$host="localhost";
$user="";
$password="";

$cxn=mysqli_connect($host,$user,$password);
$sql="SHOW STATUS";
$result=mysql_query($cxn,$sql);
if($result == false)
{
	echo "<h4>Erreur: ".mysql_error($cxn). "</h4>";
}
else
{
	/* Tableau affichant les résultats */
	echo "<table border='l'>
	<tr><th>Nom_Variable</th>
	th>Valeur</th></tr>";
	for($i = 0; $i < mysqli_num_row($result); $i++)
	{
		echo "<tr>";
		$row_array = mysqli_fetch_row($result);
		for($j = 0;$j < mysqli_num_fields($result);$j++)
		{
			echo "<td>".$row_array[$j]."</td>\n";
		}
	}
	echo "</table>";
}
?>
</body>
</html> 

Répondre à Adenora

2

Ricky38, le 19 avr 2009 à 22:10:29

Il manque un < au début de th>Valeur</th></tr>";

;)

Répondre à Ricky38

3

Adenora, le 19 avr 2009 à 22:15:50

+1, j'ai pas corrigé les fautes de balises ^^

Répondre à Adenora

6

ejay03, le 19 avr 2009 à 22:16:52

Tu as vu d'autres fautes ? ^^

Répondre à ejay03

4

ejay03, le 19 avr 2009 à 22:15:59

Merci à vous de l'attention que vous portez à ma question, l'erreur est toujours la même après vérification.

j'ai bien écris:

echo "<table border='l'>
<tr><th>Nom_Variable</th>
<th>Valeur</th></tr>";

donc problème non résolu et msg d'erreur identique.

Répondre à ejay03

14

Ricky38, le 19 avr 2009 à 22:32:42

Premièrement tu écris

echo "<table border='l'>

alors que tu devrais écrire
echo "<table border='1'>
avec un 1 et non un I

Aussi
<tr><th>Nom_Variable</th>
<th>Valeur</th></tr>"; 


normalement une variable prends un $ si elle est définie biensur

<tr><th>$Nom_Variable</th>
<th>$Valeur</th></tr>"; 

Répondre à Ricky38

5

Adenora, le 19 avr 2009 à 22:16:46

C'est un 1 et pas un l :

echo "<table border='1'>
<tr><th>Nom_Variable</th>
<th>Valeur</th></tr>";

Répondre à Adenora

8

ejay03, le 19 avr 2009 à 22:20:00

<?php
/* Progamme: mysql_up.php
* desc: Se connecte au serveur MySQL et
* affiche les paramètres.
*/
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
<body>";
$host="localhost";
$user="";
$password="";

$cxn=mysqli_connect($host,$user,$password);
$sql="SHOW STATUS";
$result=mysql_query($cxn,$sql);
if($result == false)
{
echo "<h4>Erreur: ".mysql_error($cxn). "</h4>;
}
else
{
/* Tableau affichant les résultats */
echo "<table border='1'>
<tr><th>Nom_Variable</th>
<th>Valeur</th></tr>";

for($i = 0; $i < mysqli_num_row($result); $i++)
{
echo "<tr>";
$row_array = mysqli_fetch_row($result);
for($j = 0;$j < mysqli_num_fields($result);$j++)
{
echo "<td>".$row_array[$j]."</td>\n";
}
}
echo "</table>";
}
?>
</body>
</html>


----> j'ai pris en considération vos remarques mais toujours le même problème ^^

Répondre à ejay03

7

Adenora, le 19 avr 2009 à 22:18:41

J'ai l'impression qu'il manque un </tr>. Correction vite fait :

for($i = 0; $i < mysqli_num_row($result); $i++)
	{
		echo "<tr>";
		$row_array = mysqli_fetch_row($result);
		for($j = 0;$j < mysqli_num_fields($result);$j++)
		{
			echo "<td>".$row_array[$j]."</td>\n";
		}
                echo "</tr>";
	}
	echo "</table>";

Répondre à Adenora

9

Adenora, le 19 avr 2009 à 22:22:07

Non, tu n'as pas tout corrigé ^^ :

echo "<h4>Erreur: ".mysql_error($cxn). "</h4>";

Répondre à Adenora

10

ejay03, le 19 avr 2009 à 22:25:24

<?php
/* Progamme: mysql_up.php
* desc: Se connecte au serveur MySQL et
* affiche les paramètres.
*/
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
<body>";
$host="localhost";
$user="";
$password="";

$cxn=mysqli_connect($host,$user,$password);
$sql="SHOW STATUS";
$result=mysql_query($cxn,$sql);
if($result == false)
{
echo "<h4>Erreur: ".mysql_error($cxn). "</h4>;
}
else
{
/* Tableau affichant les résultats */
echo "<table border='1'>
<tr><th>Nom_Variable</th>
<th>Valeur</th></tr>";
for($i = 0; $i < mysqli_num_row($result); $i++)
{
echo "<tr>";
$row_array = mysqli_fetch_row($result);
for($j = 0;$j < mysqli_num_fields($result);$j++)
{
echo "<td>".$row_array[$j]."</td>\n";
}
echo "</tr>";
}
echo "</table>";
}
?>
</body>
</html>

Oui, et là ... tjs le même msg d'erreur ^^
en gras dans le programme les dernières modifications

Répondre à ejay03

11

Adenora, le 19 avr 2009 à 22:27:18

Tu as bien vu mon message juste avant le tien ? ^^

Répondre à Adenora

12

ejay03, le 19 avr 2009 à 22:30:19

Programme:

<?php
/* Progamme: mysql_up.php
* desc: Se connecte au serveur MySQL et
* affiche les paramètres.
*/
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
<body>";
$host="localhost";
$user="";
$password="";

$cxn=mysqli_connect($host,$user,$password);
$sql="SHOW STATUS";
$result=mysql_query($cxn,$sql);
if($result == false)
{
echo "<h4>Erreur: ".mysql_error($cxn). "</h4>";
}
else
{
/* Tableau affichant les résultats */
echo "<table border='1'>
<tr><th>Nom_Variable</th>
<th>Valeur</th></tr>";
for($i = 0; $i < mysqli_num_row($result); $i++)
{
echo "<tr>";
$row_array = mysqli_fetch_row($result);
for($j = 0;$j < mysqli_num_fields($result);$j++)
{
echo "<td>".$row_array[$j]."</td>\n";
}
echo "</tr>";
}
echo "</table>";
}
?>
</body>
</html>


Warning: mysqli_connect() [function.mysqli-connect]: (28000/1045): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP 3.0\www\test-mysql111.php on line 13

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\EasyPHP 3.0\www\test-mysql111.php on line 15

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\EasyPHP 3.0\www\test-mysql111.php on line 18

Erreur:

Répondre à ejay03

13

Adenora, le 19 avr 2009 à 22:32:20

Maintenant tes erreurs proviennent de la connexion à ta base de données, de ta requête.
$user="root", c'est peut être mieux.

Répondre à Adenora

15

ejay03, le 19 avr 2009 à 22:36:17

<?php
/* Progamme: mysql_up.php
* desc: Se connecte au serveur MySQL et
* affiche les paramètres.
*/
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
<body>";
$host="localhost";
$user="root";
$password="";

$cxn=mysqli_connect($host,$user,$password);
$sql="SHOW STATUS";
$result=mysql_query($cxn,$sql);
if($result == false)
{
echo "<h4>Erreur: ".mysql_error($cxn). "</h4>";
}
else
{
/* Tableau affichant les résultats */
echo "<table border='1'>
<tr><th>Nom_Variable</th>
<th>Valeur</th></tr>";
for($i = 0; $i < mysqli_num_row($result); $i++)
{
echo "<tr>";
$row_array = mysqli_fetch_row($result);
for($j = 0;$j < mysqli_num_fields($result);$j++)
{
echo "<td>".$row_array[$j]."</td>\n";
}
echo "</tr>";
}
echo "</table>";
}
?>
</body>
</html>

--->
Warning: mysqli_connect() [function.mysqli-connect]: (28000/1045): Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP 3.0\www\test-mysql111.php on line 13

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\EasyPHP 3.0\www\test-mysql111.php on line 15

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\EasyPHP 3.0\www\test-mysql111.php on line 18

Erreur:

Répondre à ejay03

16

Adenora, le 19 avr 2009 à 22:38:47

C'est Mysqlite que tu utilises, donc je ne sais pas comment ça fonctionne la connexion. ^^

Répondre à Adenora

17

Adenora, le 19 avr 2009 à 22:49:55

J'ai testé avec MySQL (j'ai changé pour mettre en MySQLite après)

<?php
/* Progamme: mysql_up.php
* desc: Se connecte au serveur MySQL et
* affiche les paramètres.
*/
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
<body>";
$host="localhost";
$user="root"; // A voir
$password="";
$database=""; // Base de données

$cxn=mysqli_connect($host,$user,$password) or die(mysql_error());
$result=mysqli_query("SHOW TABLE STATUS FROM $database") or die(mysql_error()); // Requête que tu veux faire ?
if($result == false)
{
echo "<h4>Erreur: ".mysql_error($cnx). "</h4>";
}
else
{
/* Tableau affichant les résultats */
echo "<table border='1'>
<tr><th>$Nom_Variable</th>
<th>Valeur</th></tr>";
for($i = 0; $i < mysqli_num_rows($result); $i++)
{
echo "<tr>";
$row_array = mysqli_fetch_row($result);
for($j = 0;$j < mysqli_num_fields($result);$j++)
{
echo "<td>".$row_array[$j]."</td>\n";
}
echo "</tr>";
}
echo "</table>";
}
?>
</body>
</html> 

Répondre à Adenora

18

ejay03, le 19 avr 2009 à 23:10:10

---> le programme a l'air de fonctionner, plus de beug ligne 13 15 18


---> Warning: mysqli_connect() [function.mysqli-connect]: (28000/1045): Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP 3.0\www\test mySQL 222.php on line 14

Faut que je configure les droits:

[img]http://images.imagehotel.net/cu15pauz9o.jpg/img

il me semble l'avoir fait :S par contre j'ai pas encore créer de base de donnée pour le moment mais je pense pas que ça soit la source du problème

Répondre à ejay03

19

Adenora, le 19 avr 2009 à 23:25:58

As-tu regardé ici -> http://www.manuelphp.com/php/function.mysqli-connect.php
ça pourra sans doute t'aider.

Répondre à Adenora

20

ejay03, le 20 avr 2009 à 21:51:06

<?php
/* Progamme: mysql_up.php
* desc: Se connecte au serveur MySQL et
* affiche les paramètres.
*/
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
<body>";
$host="localhost";
$user="root"; // A voir
$password="";
$database=""; // Base de données

$cxn=mysqli_connect($host,$user,$password) or die(mysql_error());
$result=mysqli_query("SHOW TABLE STATUS FROM $database") or die(mysql_error()); // Requête que tu veux faire ?
if($result == false)
{
echo "<h4>Erreur: ".mysql_error($cnx). "</h4>";
}
else
{
/* Tableau affichant les résultats */
echo "<table border='1'>
<tr><th>$Nom_Variable</th>
<th>Valeur</th></tr>";
for($i = 0; $i < mysqli_num_rows($result); $i++)
{
echo "<tr>";
$row_array = mysqli_fetch_row($result);
for($j = 0;$j < mysqli_num_fields($result);$j++)
{
echo "<td>".$row_array[$j]."</td>\n";
}
echo "</tr>";
}
echo "</table>";
}
?>
</body>
</html>


----->Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\Program Files\EasyPHP 3.0\www\test mySQL 222.php on line 15

Répondre à ejay03

21

Adenora, le 20 avr 2009 à 21:55:28

Fait ceci :

$cxn=mysqli_connect($host,$user,$password) or die(mysqli_error()); 

et plus loin
$result = mysqli_query($cxn, "SHOW TABLE STATUS FROM $database") or die(mysqli_error());


J'ai changé aussi mysql_error() par mysqli_error().
mysqli_query doit avoir 2 paramètres en fait (voir manuel php).

Répondre à Adenora

22

ejay03, le 20 avr 2009 à 22:04:14

-----> Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\Program Files\EasyPHP 3.0\www\test mySQL 222.php on line 15

Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\Program Files\EasyPHP 3.0\www\test mySQL 222.php on line 15


<?php
/* Progamme: mysql_up.php
* desc: Se connecte au serveur MySQL et
* affiche les paramètres.
*/
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
<body>";
$host="localhost";
$user="root"; // A voir
$password="";
$database=""; // Base de données

$cxn=mysqli_connect($host,$user,$password) or die(mysqli_error());
$result=mysqli_query("SHOW TABLE STATUS FROM $database") or die(mysqli_error()); // Requête que tu veux faire ?
if($result == false)
{
echo "<h4>Erreur: ".mysql_error($cnx). "</h4>";
}
else
{
/* Tableau affichant les résultats */
echo "<table border='1'>
<tr><th>$Nom_Variable</th>
<th>Valeur</th></tr>";
for($i = 0; $i < mysqli_num_rows($result); $i++)
{
echo "<tr>";
$row_array = mysqli_fetch_row($result);
for($j = 0;$j < mysqli_num_fields($result);$j++)
{
echo "<td>".$row_array[$j]."</td>\n";
}
echo "</tr>";
}
echo "</table>";
}
?>
</body>
</html>

Répondre à ejay03

23

jeremieca, le 20 avr 2009 à 22:09:16

Essaie de tout mettre sur la même ligne au cas ou :

echo "<table border='l'><tr><th>Nom_Variable</th>th>Valeur</th></tr>";

Répondre à jeremieca