Problème script MySQL

Fermé
Bostak - 2 août 2008 à 12:47
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 - 3 août 2008 à 16:45
Bonjour,

J'ai installer récemment apache et php qui tout deux fonctionne très bien et j'ai installer maintenant MySQL j'ai donc fait un petit script mais il y a une erreur et je ne vois pas d'ou elle peut venir voilà :

<?php
/*Programme: mysql_up.php
*Des: se connecter au serveur MySQL et affiche les paramètres.
*/
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
$host="localhost";
$user="******"
$password="******";

ùcxn = mysqli_connect($host,$user,$password);
$sql="SHOW STATUS";
$result = msqli_query($cxn,$sql);
if($result == false)
{
echo "<h4>Erreur: ".mysqli_eror($cxn)";
}
else
{
/*Tableau affichant les résultats */
echo "<table border='1'>
<tr><th>Nom_Variable</th>
<tr>Valeur</th></tr>";
for($i = 0; $i < mysqli_nujm_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"</table>";
}
?>
</body>

et le message d'erreur mis lorsque l'on essaie d'accéder à la page : Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\serveur\Apache2\www\test-mysql.php on line 7

Cordialement
A voir également:

20 réponses

lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
3 août 2008 à 16:45
je pense pas que ce soit obligatoire d'utiliser mysqli avec php5

Mysqli est une extension de mysql qui est à mon avis plus performante.(perso c'est ce que j'utilise à la maison.Au boulot c'est mysql)
Pour l'utilser il faut seulement activer cette extension sur ton serveur (le fichier php.ini il faut decommenter cette ligne extension=php_mysqli.dll,et parametrer ton mysql)

A tu d'autres pages qui utilise mysqli et qui fonctionne ou est ce la 1ere?

Sinon remplace la syntaxe mysqli par celle de mysql

edit tiens jette un oeil par ici https://www.php.net/manual/fr/mysqli.configuration.php
1
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>

vous avez oublié de fermer le guillemets, puis le ;
dans la suite du code y'a encore quelques anomalies par contre
0
Utilisateur anonyme
2 août 2008 à 12:51
Tu as rajoute un i a la fin de mysql_connect

ùcxn = mysqli_connect($host,$user,$password);
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
2 août 2008 à 12:53
c'est qu'il utilise mysqli à la place de mysql ;-)
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
2 août 2008 à 12:52
bonjour ,
je pense que c'est la qu'est l'erreur
ùcxn = mysqli_connect($host,$user,$password);
met plutot ça : $cnx

for($i = 0; $i < mysqli_nujm_rows($result); $i++)
echo "<tr>"; 

ici il manque une {

for($i = 0; $i < mysqli_nujm_rows($result); $i++)
{ 
echo "<tr>";


et les guillemets echo "<html> "
et pense à fermer ta balise <h4>
echo "<h4>Erreur: ".mysqli_eror($cxn) </h4>";

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci à vous tous pour vos réponses rapide j'ai fais plein d'erreur bête (je commence dans ce domaine c'est pour sa) j'ai corrigé toutes les erreurs que vous m'avez dit et il y a encore une erreur. Alors voilà à quoi ressemble le script maintenant :

<?php
/*Programme: mysql_up.php
*Desc: se connecter 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 = msqli_query($cxn,$sql);
if($result == false)
{
echo "<h4>Erreur: ".mysqli_eror($cxn)"</h4>";
}
else
{
/*Tableau affichant les résultats */
echo "<table border='1'>
<tr><th>Nom_Variable</th>
<tr>Valeur</th></tr>";
for($i = 0; $i < mysqli_nujm_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"</table>";
}
?>
</body>
</html>

Et le message d'erreur que sa m'affiche :

Parse error: syntax error, unexpected T_VARIABLE in C:\serveur\Apache2\www\test-mysql.php on line 10

Cette ligne correspond au mot de passe et c'est pourtant le bon mot de passe.

Cordialement
0
ah et j'oubliais,

Pour répondre à kakashidu85
c'est mysqli parce que j'utilise php5

@+
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
2 août 2008 à 16:07
re ,
tu a oublié des "

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

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


sinon ici $result = msqli_query($cxn,$sql);

c'est $result = mysqli_query($cxn,$sql); qu'il faut ecrire pas msqli

;-)

en gros verifie toujours bien ton code et pense à l'intender c'est plus facile apres pour reperer le debut des { et la fin des }
@+
0
re,

tu a oublié des "

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

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

bah euh non ils y sont ^^
sinon j'ai changer ce que tu m'a dit sa n'y fait pas il me dit toujours qu'il y a une erreur line 10 :

http://bostak.dyndns.org/test-mysql.php

Cordialement
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
2 août 2008 à 17:15
ce que je voulais dire c'est qu'il y a un " en trop et un . en moins
echo "<h4>Erreur: ".mysqli_eror($cxn)"<== ici </h4>";
il faut que tu mette ça
echo "<h4>Erreur: ".mysqli_eror($cxn)."</h4>";
dsl je faisait plusieurs trucs en même temps
0
Bon j'ai corriger les erreurs et voilà toujours une erreur line 10 :

voilà regarder la ==> http://bostak.dyndns.org/test-mysql.php

je ne vois pas d'ou sa peut venir

Cordialement
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
2 août 2008 à 20:15
re, peut tu mettre ton code modifié stp.

modifie ca egalemenet
if($result == false)
{
echo "<h4>Erreur: ".mysqli_eror($cxn)"</h4>";
}

par ça
if(!$result )
{
echo "<h4>Erreur: ".mysqli_eror($cxn) </h4>";
}

et il te manque un ; ici
$user="******" ;
0
voilà j'ai modifié ce que tu m'as dit il n'y a plus d'erreur ligne 10 mais il me met maintenant qu'il y a une erreur ligne 12 !

Je vais jamais m'en sortir et quand on débute dans la programmation c'est pas évident on fait plein de petites erreurs alors voilà à quoi ressemble le script maintenant :

<?php
/*Programme: mysql_up.php
*Desc: se connecter au serveur MySQL et affiche les paramètres.
*/
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
<body>";
$host="localhost";
$user="admin";
$password="123456";

$cxn = mysqli_connect($host,$user,$password);
$sql="SHOW STATUS";
$result = msql_query($cxn,$sql);
if($result)
{
echo "<h4>Erreur:".mysqli_eror($cxn)."</h4>";
}
else
{
/*Tableau affichant les résultats */
echo "<table border='1'>
<tr><th>Nom_Variable</th>
<tr>Valeur</th></tr>";
for($i = 0; $i < mysqli_nujm_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"</table>";
}
?>
</body>
</html>

Et un grand merci à toi lewis34 pour ton aide qui m'aide énormément

Cordialement

@+
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
2 août 2008 à 23:08
re,avant d'aller au dodo je pense avoir trouver ton lézard

$result = msql_query($cxn,$sql);

tu utilise mysqli doncta requete ce devrait etre

$result = mysqli_query($cxn,$sql);

tu lui met du mysql evidemment (tu a en plus oiblié le Y) il comprend pas ce que tu lui demande

si tu change ca ça devrais marcher.

T'affole pas au début c'est souvent des erreurs que l'on commet

@+
0
bon j'ai modifié encore mes erreurs (erreur bête !) mais sa ne fonctionne toujours pas voilà le script maintenant :

<?php
/*Programme: mysql_up.php
*Desc: se connecter au serveur MySQL et affiche les paramètres.
*/
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
<body>";
$host="localhost";
$user="admin";
$password="123456";

$cxn = mysqli_connect($host,$user,$password);
$sql="SHOW STATUS";
$result = mysqli_query($cxn,$sql);
if($result)
{
echo "<h4>Erreur:".mysqli_eror($cxn)."</h4>";
}
else
{
/*Tableau affichant les résultats */
echo "<table border='1'>
<tr><th>Nom_Variable</th>
<tr>Valeur</th></tr>";
for($i = 0; $i < mysqli_nujm_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"</table>";
}
?>
</body>
</html>

et voilà l'erreur qui s'affiche : Fatal error: Call to undefined function mysqli_connect() in C:\serveur\Apache2\www\test-mysql.php on line 12
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
3 août 2008 à 09:54
bonjour , tu a oublié le !
ici if($result)

je t'explique.le ! siginifie que la condition est fausse si $result ne s'execute pas tu aura ton msg d'erreur.

Dans le cas present tu c'est l'inverse si $result s'execute tu a le msq d'erreur

de plus tu a une erreur ici mysqli_nujm_rows

je t'ai retapé un peu le code ,il fonctionne



<?php
	echo "<html>
	<head><title>Test de MySQL5 avec PHP5</title></head>
	<body>";
	$host="localhost";
       $user="admin";
       $password="123456";
	
	$cxn = mysqli_connect($host,$user,$pass);

	$sql="SHOW STATUS";
	$result = mysqli_query($cxn,$sql);
		if(!$result)
		{
			echo "<h4>Erreur:".mysqli_eror($cxn)."</h4>";
		}
			else
		{
		//attribution des variables
			$nbrow=mysqli_num_rows($result); //nbr de données dans la table
			$row_array = mysqli_fetch_row($result);
			$nbfield=mysqli_num_fields($result); 
			//pense a utiliser des echos pour visualiser les valeurs que tu récuprer
			echo '$nbrw='.$nbrow;
			echo '<br/>';
			echo '$row_array='.$row_array[0];
			
			/*Tableau affichant les résultats */
			echo "<table border='1'>
				<th size='20'>Nom_Variable</th>
				<th>Valeur</th>";
			
			for($i = 0; $i <$nbrow; $i++)
			{
			$j=0;		
			echo"<tr>
				<td size='20'>".$row_array[$j]."</td>
				<td>".$nbfield[$i]."</td>				
				</tr>";				
					if($j<=$nbfield){$j++;};				
			}
		echo"</table>";
		}
		?>
	</body>
	</html>
0
encor merci à toi pour ton aide mais ton script ne fonctionne pas chez moi il m'indique une erreur fatale ligne 9 :

Fatal error: Call to undefined function mysqli_connect() in C:\serveur\Apache2\www\test-mysql.php on line 9

Cordialement
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
3 août 2008 à 11:51
oups oui je viens de voir....

change $pass par $password

dsl
0
j'avais vu cette petite erreur mais rien n'y fait toujours une erreur
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
3 août 2008 à 16:04
c'est bizzare car à la maison ça fonctionne ?

c'est bien l'extension mysqli que tu utilise?
0
j'utilise MySQL-4.1.20 et j'ai lu que quand on n'a php5 il faut mettre mysqli dans le script sinon sa ne prenait pas en charge

Cordialement
0