Warning: mysql_fetch_array()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Warning: mysql_fetch_array()

Re: Warning: mysql_fetch_array()

par moogli » 17 nov. 2011, 09:00

:mrgreen:

La sensibilité à la casse effectivement c'est assez rare comme cas je n'y avait pas pensez :/


@+

Re: Warning: mysql_fetch_array()

par lanza » 16 nov. 2011, 20:02

Je viens de trouver !!! En consultant beaucoup de doc et tuto à force j'ai trouvé ^^

C'était la casse de mes tables, exemple :

nom de la table : contenu
écrit dans PHP: CONTENU

Apparemment suivant les version PHP/mySQL ca marche ... ou pas :)

Merci pour votre aide en tout cas, vous êtes géniaux

Re: Warning: mysql_fetch_array()

par lanza » 16 nov. 2011, 19:40

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
<?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&eacute;lectionner une base de donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;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.

tu pourra ainsi voir ce qu'il a dans le ventre :)


@+
voici ce que me donne le php ci-dessus :
accueil
agenda_config
agenda_events
agenda_membre
agenda_theme
categories
compteur
contenu
data
news
piwigo_caddie
piwigo_categories
piwigo_comments
piwigo_config
piwigo_copyrights_admin
piwigo_copyrights_media
piwigo_favorites
piwigo_group_access
piwigo_groups
piwigo_history
piwigo_history_summary
piwigo_image_category
piwigo_image_tag
piwigo_images
piwigo_languages
piwigo_old_permalinks
piwigo_plugins
piwigo_rate
piwigo_search
piwigo_sessions
piwigo_sites
piwigo_tags
piwigo_themes
piwigo_upgrade
piwigo_user_access
piwigo_user_cache
piwigo_user_cache_categories
piwigo_user_feed
piwigo_user_group
piwigo_user_infos
piwigo_user_mail_notification
piwigo_users
webcfg
xlagenda_agenda
xlagenda_categories
xlagenda_config
xlagenda_demande
xlagenda_logs
xlagenda_users

Re: Warning: mysql_fetch_array()

par laurents » 16 nov. 2011, 00:06

Concernant le ini je suis chez firstheberg, je trouve cela ou ?
Sur la plupart des serveurs, on n'a pas accès à php.ini, mais certains paramètres (pas tous :( ) sont modifiables par ini_set (les paramètres modifiables, c'est décrit

Re: Warning: mysql_fetch_array()

par moogli » 15 nov. 2011, 23:44

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
<?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&eacute;lectionner une base de donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;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.

tu pourra ainsi voir ce qu'il a dans le ventre :)


@+

Re: Warning: mysql_fetch_array()

par lanza » 15 nov. 2011, 22:43

Non je n'ai pas oublié cela est certain, mais on peut remarquer que pour ma table s'appelle accueil par exemple, dans l'erreur elle est précédée d'un préfixe "a11plais."

Re: Warning: mysql_fetch_array()

par moogli » 15 nov. 2011, 21:20

Salut

Tu vois cela avec un phpinfo();

Ton dernier message d'erreur indique que la table accueille n'existe pas tu n'aurais pas oublier de créer tes tables sur le serveur mysql ?

@+

Re: Warning: mysql_fetch_array()

par lanza » 15 nov. 2011, 21:13

Alors pour les guillemets je n'ai pas d'explication, j'ai suivis un tuto pour cela, dois-je les enlever ? Nom_de_la_base = a11plais

Concernant le ini je suis chez firstheberg, je trouve cela ou ?

Re: Warning: mysql_fetch_array()

par stealth35 » 15 nov. 2011, 18:59

pourquoi tu rajoutes des guillemets pour mettre tes variables ?
que vaut $nom_de_la_base ?
ton niveau d'erreur est bien au maximum (dans ton php.ini error_reporting sur E_ALL | E_STRICT) ?

Re: Warning: mysql_fetch_array()

par lanza » 15 nov. 2011, 18:52

<?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&eacute;lectionner une base de donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;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;
}
?> 

Re: Warning: mysql_fetch_array()

par stealth35 » 15 nov. 2011, 18:32

montre ton code entier

Re: Warning: mysql_fetch_array()

par lanza » 15 nov. 2011, 18:09

Warning: mysql_query() [http://www.mysql.com/doc]: Table 'a11plais.ACCUEIL' doesn't exist in /home/a11plais/www/dyn1/index.php on line 10


Voila ce que ca me donne, il me dit que mes tables n'existent pas il me parle toujours de a11plais.nomdelatable, pourquoi ajoute-il tout ces préfixe ? et pas sur ma version locale ? Cela peut-il venir de mon hébergeur ?

Warning: mysql_fetch_array()

par lanza » 15 nov. 2011, 15:35

Bonjour à tous,

j'ai développé un site internet en local avec wampserver de la manière suivante :
localhost\dyn1\index.php

aujourd'hui je viens de le mettre en ligne chez mon hébergeur de la manière suivante : www\dyn1\index.php .

Mon site fonctionne parfaitement en local et lorsqu'il est en ligne (www.911plaisirs.fr/dyn1) il m'affiche l'erreur suivante :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a11plais/www/dyn1/index.php on line 49

Je ne comprends pas cette erreur et en recherchant sur le net les deux problèmes qui reviennent souvent sont :

mauvais array, ce qui ne peux pas être possible puisque en local cela fonctionne .. ?
ou alors mauvais identifiant de connexion et là encore je suis sur de mon script de connexion.

Quelqu'un pourrait-il m'aider s'il vous plait ?

Merci d'avance

Re: Warning: mysql_fetch_array()

par stealth35 » 15 nov. 2011, 15:19

active le trace_mode avant la conenxion
ini_set('mysql.trace_mode', true);