Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

php et mysql : grosse panne

6 réponses
Avatar
romer
Bonjour,

Je m'initie aux bases de données et sèche depuis 3 jours en essayant de
me connecter sur une table créée et fonctionnelle chez Free. Rien ne
s'affiche - page blanche.
- la table fonctionne bien avec phpmyadmin et Eskuel une fois le login
et le pass donnés. J'ai pris l'exemple suivant sur le web pour augmenter
les chances de succès.

Le code est là :

<html>
<head>Ma 1re table</head>

<body>

<h2>Ma table</h2>

<?php
// on se connecte à MySQL

$db = mysql_connect('sql.free.fr','login,'pass');
);

// on sélectionne la base
mysql_select_db('login',$db);

// on crée la requête SQL
$sql = 'SELECT nom,prenom,statut,date FROM famille';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL
!<br>'.$sql.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours
echo '<b>'.$data['nom'].' '.$data['prenom'].'</b>
('.$data['statut'].')';
echo ' <i>date de naissance : '.$data['date'].'</i><br>';
}

// on ferme la connexion à mysql

mysql_close();

</body>
</html>

Voilà : je ne vois que Ma table à l'écran et ensuite du blanc. J'ai fait
une foultitude d'essais depuis 3 jours, ai changé les paramètres, essayé
en local, etc. rien à faire - rien ne s'affiche.

Auriez-vous une piste ?

Par avance merci.

--
A+

Romer

6 réponses

Avatar
titi
X-No-Archive: yes
Restrict: no-external-archive
"Bernd" a écrit dans le message de news:
1hujypv.1s6mukg50zehhN%
: Le code est là :


Bonjour,

<html>
<head>Ma 1re table</head>
<body>
<h2>Ma table</h2>
<?php
error_reporting (E_ALL); // a mettre pour lister erreurs PHP
// on se connecte à MySQL
$login="login"; // a protéger
$base ="login"; // a protéger
$pass="pass"; // a protéger
//$db = mysql_connect('sql.free.fr','login','pass');
$db = mysql_connect('sql.free.fr',$login,$pass) or die("Impossible de se
connecter : $login <br>" . mysql_error());;
// on sélectionne la base
$db_selected=mysql_select_db($base,$db);
if (!$db_selected) {
die ('Impossible de sélectionner la base de données : $base<br>' .
mysql_error());
}
// on crée la requête SQL
$sql = 'SELECT nom,prenom,statut,date FROM famille';
// on envoie la requête
$req = mysql_query($sql) or die('Erreur
SQL!<br>'.$sql.'<br>'.mysql_error());
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours
echo '<b>'.$data['nom'].'
'.$data['prenom'].'</b>('.$data['statut'].')';
echo ' <i>date de naissance : '.$data['date'].'</i><br>';
}
// on ferme la connexion à mysql
mysql_close();
?>
</body>
</html>

Avec çà, c'est mieux ?

Cordialement
--
G.M.
Avatar
romer
titi wrote:

X-No-Archive: yes
Restrict: no-external-archive
"Bernd" a écrit dans le message de news:
1hujypv.1s6mukg50zehhN%
: Le code est là :


Bonjour,

<html>
<head>Ma 1re table</head>
<body>
<h2>Ma table</h2>
<?php
error_reporting (E_ALL); // a mettre pour lister erreurs PHP
// on se connecte à MySQL
$login="login"; // a protéger
$base ="login"; // a protéger
$pass="pass"; // a protéger
//$db = mysql_connect('sql.free.fr','login','pass');
$db = mysql_connect('sql.free.fr',$login,$pass) or die("Impossible de se
connecter : $login <br>" . mysql_error());;
// on sélectionne la base
$db_selected=mysql_select_db($base,$db);
if (!$db_selected) {
die ('Impossible de sélectionner la base de données : $base<br>' .
mysql_error());
}
// on crée la requête SQL
$sql = 'SELECT nom,prenom,statut,date FROM famille';
// on envoie la requête
$req = mysql_query($sql) or die('Erreur
SQL!<br>'.$sql.'<br>'.mysql_error());
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours
echo '<b>'.$data['nom'].'
'.$data['prenom'].'</b>('.$data['statut'].')';
echo ' <i>date de naissance : '.$data['date'].'</i><br>';
}
// on ferme la connexion à mysql
mysql_close();
?>
</body>
</html>

Avec çà, c'est mieux ?




SUPER ! ça marche ... et même bien
Mais pour que cela ait une valeur pédagogique, pourrais-tu me dire ce
qui clochait dans le code que je t'ai envoyé ? - je galère en effet
depuis 3 jours avec ce code et ai bien failli tout abandonner de
dégoût...

Par avance merci.

--
A+

Romer
Avatar
Miko
Bernd a écrit :.
titi wrote:
snip le code php, voir éventuellement fr.comp.lang.php
SUPER ! ça marche ... et même bien
Mais pour que cela ait une valeur pédagogique, pourrais-tu me dire ce
qui clochait dans le code que je t'ai envoyé ? - je galère en effet
depuis 3 jours avec ce code et ai bien failli tout abandonner de
dégoût...



Bonsoir,
il y avait ça dans ton code:

$db = mysql_connect('sql.free.fr','login,'pass');
);

Tu ne remarques rien?
titi teste aussi tous les endroits ou ça peut planter, en affichant un
message d'erreur.

Bonne continuation,

Miko
Avatar
romer
Miko wrote:

Bernd a écrit :.
> titi wrote:
>snip le code php, voir éventuellement fr.comp.lang.php
> SUPER ! ça marche ... et même bien
> Mais pour que cela ait une valeur pédagogique, pourrais-tu me dire ce
> qui clochait dans le code que je t'ai envoyé ? - je galère en effet
> depuis 3 jours avec ce code et ai bien failli tout abandonner de
> dégoût...

Bonsoir,
il y avait ça dans ton code:

$db = mysql_connect('sql.free.fr','login,'pass');
);

Tu ne remarques rien?
titi teste aussi tous les endroits ou ça peut planter, en affichant un
message d'erreur.



Je vois en effet la différence.
Cela dit, le code que j'utilisai était tiré d'exemples sur le web et
d'un site spécialisé dans le php/mysql - c'est pour cela que je
cherchais ailleurs - notamment une incompatiblié avec Free.

Bref tout fonctionne - Grand merci à Titi qui m'a sorti d'affaire.

Ce que j'apprécie, c'est ce mélange de html, de styles CSS et de php qui
permet une présentation impécable et très souple des résultats.

J'ai encore un problème d'accents avec la table mais je vais chercher.
Tout est pourtant en utf8 du début de la chaîne à la fin (édition, base,
fichier php qui commence par <?php header("Content-Type: text/html;
charset=utf-8");?>
et pourtant la visualisation de la table avec phpmyadmin est parfaite !

Petit mystère mais j'ai fait aujourd'hui un tel grand pas grâce à vous
que je laisse pour l'instant ce petit pb.

--
A+

Romer
Avatar
titi
X-No-Archive: yes
Restrict: no-external-archive
"Bernd" a écrit dans le message de news:
1hukndj.1ofywsy1tkxbxcN%
: Cela dit, le code que j'utilisai était tiré d'exemples sur le web et
: d'un site spécialisé dans le php/mysql - c'est pour cela que je
: cherchais ailleurs - notamment une incompatiblié avec Free.
Bonsoir,


Non, en dehors de certains cas FREE reste compatible, sauf fonctions
inopérantes.
http://www1.assistancefree.fr/v1/faq/?forfait=axl&rac54/348
on peut tester si la fonction est valide : ex: function_exists("fopen")


: Ce que j'apprécie, c'est ce mélange de html, de styles CSS et de php
qui
: permet une présentation impécable et très souple des résultats.

Bon, je passerais.

: J'ai encore un problème d'accents avec la table mais je vais chercher.
: Tout est pourtant en utf8 du début de la chaîne à la fin (édition,
base,
: fichier php qui commence par <?php header("Content-Type: text/html;
: charset=utf-8");?>
: et pourtant la visualisation de la table avec phpmyadmin est parfaite
!

Il faut voir comment a été crée la table (par exemple) :

$tbl="toto";
$query ="CREATE TABLE $tbl ";
$query .= "(licence text collate latin1_general_ci NOT NULL)
TYPE=MyISAM COMMENT='Table bidon'";

voir aussi la version de SQL par "SHOW VARIABLES LIKE 'version';"

cote PHP voir http://fr3.php.net/manual/fr/function.utf8-decode.php et
http://fr3.php.net/manual/fr/function.utf8-encode.php

cote SQL voir
http://dev.mysql.com/doc/refman/5.1/en/charset-convert.html

sinon comme vous parlez de FREE voir http://sql.free.fr/phpMyAdmin/

Cordialement
--
G.M.
Avatar
romer
titi wrote:

Il faut voir comment a été crée la table (par exemple) :



Apparemment comme cela - je viens d'en faire une exportation :

CREATE TABLE `QSJ` (
`ID` int(255) NOT NULL auto_increment,
`No` smallint(9) NOT NULL default '0',
`Titre` text NOT NULL,
PRIMARY KEY (`ID`),
KEY `titres` (`Titre`(15)),
KEY `No` (`No`)
) ENGINE=MyISAM AUTO_INCREMENT91 DEFAULT CHARSET=utf8 PACK_KEYS=0
AUTO_INCREMENT91 ;

voir aussi la version de SQL par "SHOW VARIABLES LIKE 'version';"



v. 5.0.27

cote PHP voir http://fr3.php.net/manual/fr/function.utf8-decode.php et
http://fr3.php.net/manual/fr/function.utf8-encode.php

cote SQL voir
http://dev.mysql.com/doc/refman/5.1/en/charset-convert.html

sinon comme vous parlez de FREE voir http://sql.free.fr/phpMyAdmin/



v. 2.6.3-pl1 - et là ça fonctionne fort bien - tous les accents sont
respectés et même les Umlaute allemands.
Et c'est bien ce qui m'étonne : bien avec phpmyadmin ou Eskuel mais des
caractères exotiques dès que la reqête est faite via php !

Merci de toutes ces infos - je vis aller consulter les liens.
--
A+

Romer