Erreur table qui existe pas ?

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 : Erreur table qui existe pas ?

Re: Erreur table qui existe pas ?

par sirakawa » 25 sept. 2014, 08:41

Si tu pouvais te dervir de mysql en ligne je dirais de faire s
si tu n'as pas de mot de passe pour root:
mysql -u root
si root a un mot de passe
mysql -u root -pmot_de_passe
-p collé au mot de passe
use la_base dedonées_que tu veux;
show tables;
et de montrer le résultat

Re: Erreur table qui existe pas ?

par moogli » 24 sept. 2014, 23:24

"sous table" ?

une table c'est une table, tu n'as pas réellement cette table c'est le problème :)

sinon de rien :)

@+

Re: Erreur table qui existe pas ?

par samtm123 » 24 sept. 2014, 18:33

Premièrement, merci à vous deux :D

Est-ce que cela est possible que ça cause problème car ma table fstream est en fait automatiquement mit en sous table ?

Re: Erreur table qui existe pas ?

par moogli » 18 sept. 2014, 16:31

pour aller plus loin :
- au niveau php le code semble fonctionnel
- au niveau sql le code semble fonctionnel

donc soit tu ne connecte pas à la bonne base.
soit c'est la bonne base et la table n'existe pas.
soit la table est sur un autre schéma que le schéma courant futur526387 (qui doit être dans mon mysql_selected_db ?) et dans ce cas il faut que ton utilisateur ai accès à ce schéma et indiquer le schéma dans la requete (select * from schema.table ).

il n'y pas d'autre explication (quelque soit l'extension utilisée).

le passage à mysqli n'est pas un mal :)

si tu peux nous founir un dumb (juste create table) de la base on peux tester mais globalement la réponse sera "chez moi ça marche" ;)


@+

Re: Erreur table qui existe pas ?

par sirakawa » 15 sept. 2014, 09:27

Autre version peut être plus simple et plus facile à adapter
<?PHP

/*
Une fonction connexion pour éviter de répéter le même code toutes les fois où il faut créer une connexion
retourne un tableau : une valeur -1 | 0 : échec ou réussite de la connexion
					un texte expliquant l'erreur | le lien à utiliser
*/
function connexion ($hote_mysql, $nom_root_mysql, $passe_root_mysql="")
{

 	$mysqli = mysqli_init(); 
    $chaine_erreur = "";
	$erreur  = false;
     if ($mysqli === false)//_______________________________________________________________________initialisation échouée
     {//1
                 $chaine_erreur = "probleme Sql";
                 $erreur = true;
      }
      else//_________________________________________________________________________________________initialisation réussie
      {//1
           $resultat = mysqli_real_connect($mysqli, $hote_mysql, $nom_root_mysql, $passe_root_mysql);
           if ($resultat == false)//________________________________________________________connexion échouée
            {//2
                 $chaine_erreur = "échec de mysqli_init dans ".__FILE__." ligne ".__LINE__;
                 $erreur = true;       
             }
       }
	if ($erreur)
	{
		return array (-1, $chaine_erreur);
	}
	else
	{
		return array (0, $mysqli);
	}
}
$connexion = connexion ("localhost", "root", "");
$erreur = $connexion[0];
if ($erreur == -1)
{
	echo($connexion[1]);
    exit;
}
else
{
	$lien = $connexion[1];
}
$table = "corregidor.kalig_textes";
$requete = "SELECT * from $table ";
$resultat = mysqli_query($lien, $requete);
while ($ligne = mysqli_fetch_array($resultat, MYSQLI_ASSOC))
{
printf ("%s (%s)\n", $ligne["id_dictee"], $ligne["titre"]);
}
  ?>

Re: Erreur table qui existe pas ?

par samtm123 » 14 sept. 2014, 18:53

Bon alors, j'ai essayé de pleins de manière différente, mais rien ne fonctionne.. J'ai pas nécessairement envie qu'on le fasse pour moi, mais j'aimerais bien comprendre.

Re: Erreur table qui existe pas ?

par sirakawa » 13 sept. 2014, 14:30

Non, quand tu passes à mysqli, il ya des chagements à apporter, pas beaucoup mais indispensables
ici exemples avec syntaxe objet:
http://php.net/manual/fr/mysqli.quickst ... ements.php
syntaxe procédurale:

f
unction connexion ($hote="", $nom="", $passe="")
{
	include('connexions.php'); // j'inclus un fichier qui be regarde personne icI
	global $ProblemeSql ; // idem (messages d'erreur
	$mysqli = mysqli_init();
	if ($mysqli === false)//_______________________________________________________________________initialisation échouée
	{//1
		print "$ProblemeSql";
		$chaine = "échec de mysqli_init dans ".__FILE__." ligne ".__LINE__;
		enregistrer_erreur($chaine); // fonction écrivant dans un ficheir les problèmes apparus
		exit;
	}
	else//_________________________________________________________________________________________initialisation réussie
	{//1
		$resultat = $mysqli->real_connect($ServeurMysql, $RootMysql, $PassRootMysql);
		if ($resultat == false)//________________________________________________________connexion échouée
		{//2
			print "$ProblemeSql";
			$chaine = "échec de mysqli_init dans ".__FILE__." ligne ".__LINE__;
			enregistrer_erreur($chaine);
			exit;
		}
		else
		{
			return $mysqli;
		}
	}
}
après tu fais
$requete ="select t1.* from $t_t as t1 where t1.possesseur = $id_utilisateur order by t1.possesseur";
$resultat = $mysqli->query($requete);
ou tu vas voir;:http://php.net/manual/fr/mysqli.query.php

Re: Erreur table qui existe pas ?

par samtm123 » 13 sept. 2014, 13:38

Bon alors merci de m'avoir aider :)

Le problème est que j'ai remplacé tout mes mysql par mysqli ai-je bien fait ?... Je pense pas puisque ça n'a pas fonctionné :/

Re: Erreur table qui existe pas ?

par sirakawa » 11 sept. 2014, 11:23

Deux remarques:
Il faut abandonner mysql pour mysqli (effort minime) car mysql est obsolète (doc oficielle)
Quand il ne trouve pas une table dans une requete, on peut toujours écrire:
select from BASE.TABLE au lieu de select from TABLE
même si comme tu fais justement la BASE a été sélectionnée.
Ne me demande pas pourquoi, c'est mes propres ennuis qui m'on amené à cette pratique.

Re: Erreur table qui existe pas ?

par samtm123 » 10 sept. 2014, 22:26

J'imagine qu'il a raison ^^

Mais sérieusement voici les preuves. ma table est bien là et l’orthographe est exact:
Image

Re: Erreur table qui existe pas ?

par moogli » 10 sept. 2014, 22:18

salut,

si mysql te le dit c'est qu'il a raison.

Es-tu certain que la base où ce trouve la table ?

est ce qu'il n'y aurait pas un erreur dans la nom ?

quoi qu'il en soit le sgbd a forcément raison ;)


@+

Erreur table qui existe pas ?

par samtm123 » 10 sept. 2014, 22:11

Bonjour à tous :D

J'ai cette erreur Table 'futur526387.fstream' doesn't exist.. Pourtant, je peux vous jurer après mille vérifications que la table existe.

Voici mon code php:
<?php
$base = mysql_connect ('host', 'user', 'passwd');
mysql_select_db ('la base', $base) ;

// Numero de page (1 par défaut)
if( isset($_GET['page']) && is_numeric($_GET['page']) )
	$page = $_GET['page'];
else
	$page = 1;

// Nombre d'info par page
$pagination = 16;
// Numéro du 1er enregistrement à lire
$limit_start = ($page - 1) * $pagination;

// Préparation de la requête
$sql = "SELECT titre, description, year, pays, acteurs, iframe, image, genre FROM fstream ORDER BY titre ASC";
$req = mysql_query($sql) or die(mysql_error());
$nb_total = mysql_num_rows($req); // Je calcule le total

$sql .= " LIMIT ".$limit_start.", ".$pagination;
$req = mysql_query($sql) or die(mysql_error());

while($data = mysql_fetch_assoc($req)) {
$sujet = substr($data['titre'], 0, 20);

echo "<div class='vupost'><h3><span class='titreposition'>".$sujet."</span></h3><br /><a href='".$data['iframe']."' class='lytebox' data-lyte-options='width:700 height:700 scrolling:no' ><img src='".$data['image']."' /></a></div>";
}

// Nb d'enregistrement total
$nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM fstream');
$nb_total = mysql_fetch_array($nb_total);
$nb_total = $nb_total['nb_total'];
mysql_close();
// Pagination
$nb_pages = ceil($nb_total / $pagination);

echo '<p>';
// Boucle sur les pages
for ($i = 1 ; $i <= $nb_pages ; $i++) {
	if ($i == $page )
		echo " <a class='lpagination' href='#'>$i</a>";
	else
		echo " <a class='lpagination' href=\"?page=$i\">$i</a> ";
}
echo ' </p>';

?>

Merci d'avance :)