Re: Warning: mysql_fetch_array()
Posté : 15 nov. 2011, 15:19
active le trace_mode avant la conenxion
ini_set('mysql.trace_mode', true);Venez poser vos questions PHP, MySQL, HTML5, CSS, Javascript, Gestion de serveurs à la communauté PHPfrance
https://forum.phpfrance.com/
ini_set('mysql.trace_mode', true);<?php
//On se connecte à la base de données
include('connexion_bd.php');
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier connexion_bd.php.');
//On sélectionne les données
$index = mysql_query("SELECT titre,description,texte FROM ACCUEIL ORDER BY id ASC");
//On compte les données
$verification = mysql_num_rows($index);
//On boucle
while($accueil = mysql_fetch_array($index))
{
$titre=$accueil['titre'];
$description=$accueil['description'];
$contenu=$accueil['texte'];
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr-fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title><?php if(isset($titre)){
echo $titre;
}
?></title>
<meta name="Description" content="<?php
if(isset($description))
{
echo $description;
}
?>" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
<?php include('header.php');?>
</div>
<div id="moncadre">
<div class="cadrecentrale">
<?php
//On sélectionne les données mis à la une
$article = mysql_query("SELECT id,titre,description FROM CONTENU WHERE A_LA_UNE='1'");
while($affiche_article = mysql_fetch_array($article))
{
//on voie si il y a quelque chose
if(mysql_num_rows($article) != 0){
//On affiche l'article à la une
echo '<div class="cadre">
<big class="alaune">Article à la une ...</big><br/>
<h2><a title="'.$affiche_article['titre'].'"
href="page.php?id='.$affiche_article['id'].'">'.$affiche_article['titre'].'</a></h2>';
//On tronque la description pour inviter le lecteur à lire la suite
//longueur maximum de la description
$max_caracteres=300;
// Test si la longueur du texte dépasse la limite
if (strlen($affiche_article['description'])>$max_caracteres)
{
// Sélection du maximum de caractères
$affiche_article['description'] = substr($affiche_article['description'], 0,
$max_caracteres);
// Récupération de la position du dernier espace (afin déviter de tronquer un mot)
$position_espace = strrpos($affiche_article['description'], " ");
$affiche_article['description'] = substr($affiche_article['description'], 0,
$position_espace);
//Ajout des "...[Lire la suite]"
$affiche_article['description'] = $affiche_article['description'].'...
[<a title="'.$affiche_article['titre'].'" href="page.php?id='.$affiche_article['id'].'">Lire la suite</a>]';
}
//On affiche la description tronqué
echo ''.nl2br($affiche_article['description']).'
</div>';
}}
?>
<?php
//Si le titre ou la description sont vides, on informe par un message d'alerte
if(empty($verification))
{
echo '<big style="color:red">Attention, le titre et/ou la description de la page d\'accueil est vide!! Veuillez les remplir SVP.</big><br/>';
}
//On affiche le contenu
if(isset($contenu))
{
echo $contenu;
}
?> <?php
//On se connecte à la base de données
include('connexion_bd.php');
$ret = mysql_connect($nom_du_serveur,$nom_utilisateur,$passe);
mysql_select_db($nom_de_la_base) or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier connexion_bd.php.');
//On sélectionne les données
if ($ret === false) {
echo 'impossible de se connecter à la base de donnée<br />';
}
$ret = mysql_query("show tables");
if (mysql_num_rows($ret) > 0 ) {
while ($data = mysql_fetch_row($ret)) {
echo $data[0].'<br />';
}
mysql_free_result($ret);
}
else {
echo 'pas de table ou show tables marche pas ^^';
}
?>
tu aura la liste de toute les tables dans la base que tu a sélectionné ($nom_de_la_base) sur le serveur sur lequel php se connect. voici ce que me donne le php ci-dessus :c'est le nom de la base,
m'enfin si mysql dit qu'il connais pas la table moi j'ai tendance à le croire ^^
essai juste ce code dans un fichier a part que tu lance avec ton navigateur
tu aura la liste de toute les tables dans la base que tu a sélectionné ($nom_de_la_base) sur le serveur sur lequel php se connect.<?php //On se connecte à la base de données include('connexion_bd.php'); $ret = mysql_connect($nom_du_serveur,$nom_utilisateur,$passe); mysql_select_db($nom_de_la_base) or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier connexion_bd.php.'); //On sélectionne les données if ($ret === false) { echo 'impossible de se connecter à la base de donnée<br />'; } $ret = mysql_query("show tables"); if (mysql_num_rows($ret) > 0 ) { while ($data = mysql_fetch_row($ret)) { echo $data[0].'<br />'; } mysql_free_result($ret); } else { echo 'pas de table ou show tables marche pas ^^'; } ?>
tu pourra ainsi voir ce qu'il a dans le ventre
@+