Problème script MySQL

Bostak -  
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   352
 
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
s0d0m
 
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
 
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   Statut Membre Dernière intervention   352
 
c'est qu'il utilise mysqli à la place de mysql ;-)
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
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
Bostak
 
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
Bostak
 
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   Statut Membre Dernière intervention   352
 
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
Bostak
 
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   Statut Membre Dernière intervention   352
 
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
Bostak
 
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   Statut Membre Dernière intervention   352
 
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
Bostak
 
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   Statut Membre Dernière intervention   352
 
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
Bostak
 
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   Statut Membre Dernière intervention   352
 
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
Bostak
 
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   Statut Membre Dernière intervention   352
 
oups oui je viens de voir....

change $pass par $password

dsl
0
Bostak
 
j'avais vu cette petite erreur mais rien n'y fait toujours une erreur
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
c'est bizzare car à la maison ça fonctionne ?

c'est bien l'extension mysqli que tu utilise?
0
Bostak
 
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