PB LEFT JOIN pour Mysql4 sur Mysql5
stefanix
-
Stef60 Messages postés 257 Statut Membre -
Stef60 Messages postés 257 Statut Membre -
Bonjour,
voici ma requete :
$sql = "SELECT DISTINCT ad_id, cat_id, subject, descript, add_date, type, price";
$sql .= ", name as country_name, statename as state_name ";
$sql .= " FROM ".$prefix."_classifieds_ads , ".$prefix."_classifieds_category";
$sql .= " LEFT JOIN ".$prefix."_classifieds_country ON (country_id=id)";
$sql .= " LEFT JOIN ".$prefix."_classifieds_states ON (state_id=stateid)";
$sql .= " WHERE valid=1 AND exp_date>$time ";
$sql .= " AND $sql_add";
$sql .= " ORDER BY $sortby $order";
$sql .= " LIMIT $initAds, $maxAds";
$result = mysql_query($sql) or error( mysql_error()."erreur de la requete" );
et hélas le résultat est : "Erreur: Unknown column 'country_id' in 'on clause'erreur de la requete"
alors que les champs sont bien présents et que ça fonctionnait très bien sous Mysql 4
voici ma requete :
$sql = "SELECT DISTINCT ad_id, cat_id, subject, descript, add_date, type, price";
$sql .= ", name as country_name, statename as state_name ";
$sql .= " FROM ".$prefix."_classifieds_ads , ".$prefix."_classifieds_category";
$sql .= " LEFT JOIN ".$prefix."_classifieds_country ON (country_id=id)";
$sql .= " LEFT JOIN ".$prefix."_classifieds_states ON (state_id=stateid)";
$sql .= " WHERE valid=1 AND exp_date>$time ";
$sql .= " AND $sql_add";
$sql .= " ORDER BY $sortby $order";
$sql .= " LIMIT $initAds, $maxAds";
$result = mysql_query($sql) or error( mysql_error()."erreur de la requete" );
et hélas le résultat est : "Erreur: Unknown column 'country_id' in 'on clause'erreur de la requete"
alors que les champs sont bien présents et que ça fonctionnait très bien sous Mysql 4
A voir également:
- PB LEFT JOIN pour Mysql4 sur Mysql5
- Join pdf - Télécharger - PDF
- Copyright left - Télécharger - Photo & Graphisme
- Left shift clavier - Forum MacOS
- Touche Shift gauche ne fonctionne pas toujours - Forum Windows 10
- Touche SHIFT et touche TAB - Forum Windows
8 réponses
Bonjour
Le message est clair : il n'y a pas de champ country_id dans la table, alors que ta requête y fait référence.
Si tu es sûr que le champ existe, une suggestion : je n'ai pas ma doc mysql sous la main, mais l'ordre des champs importe peut-être dans un left join , et il aurait fallu écrire ON (id=country_id)
Le message est clair : il n'y a pas de champ country_id dans la table, alors que ta requête y fait référence.
Si tu es sûr que le champ existe, une suggestion : je n'ai pas ma doc mysql sous la main, mais l'ordre des champs importe peut-être dans un left join , et il aurait fallu écrire ON (id=country_id)
merci de vous être penchés sur le pb
mais sans le id_country dans le select ça fonctionnait bien avant, et l'ordre du JOIN est bon
croyez moi j'ai fait ces essais là avant de vous poser la question ;)
cordialement
mais sans le id_country dans le select ça fonctionnait bien avant, et l'ordre du JOIN est bon
croyez moi j'ai fait ces essais là avant de vous poser la question ;)
cordialement
ce qui a été modifié : le serveur de mon hébergeur (il est passé de PH4/Mysql4 à la version 5 de chaque)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mais sans le id_country dans le select ça fonctionnait bien avant, et l'ordre du JOIN est bon
croyez moi j'ai fait ces essais là avant de vous poser la question ;)
avant quoi, qu'est-ce qui a été modifié, c'est peut être là qu'il faut voir !
croyez moi j'ai fait ces essais là avant de vous poser la question ;)
avant quoi, qu'est-ce qui a été modifié, c'est peut être là qu'il faut voir !