1054 - Unknown column 'fg.products_id' in 'on clause'

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Pagina: 1 2 volgende »

Flashfocus

flashfocus

29/03/2007 18:36:00
Quote Anchor link
wat betekendde volgende melding:

1054 - Unknown column 'fg.products_id' in 'on clause'

SELECT fg.*, p.products_id, pd.products_name FROM free_gifts fg, products p LEFT JOIN products_description pd ON (pd.products_id=fg.products_id) WHERE pd.language_id = '4' AND p.products_id = fg.products_id ORDER BY fg.threshold ASC

Heeft dit met een php betandje te maken of zit de fout in msql 5?


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php  
            $gift_query
= tep_db_query("SELECT fg.*, p.products_id, pd.products_name FROM " . TABLE_CARROT . " fg, products p
            LEFT JOIN products_description pd ON (pd.products_id=fg.products_id)
            WHERE pd.language_id = '"
.$languages_id."'
            AND p.products_id = fg.products_id
            ORDER BY fg.threshold ASC"
);
 
PHP hulp

PHP hulp

16/11/2024 10:43:03
 
Marvin S

Marvin S

29/03/2007 18:41:00
Quote Anchor link
SELECT fg.*

kan geloof ik niet in mysql..

maak hiervan:

SELECT fg.products_id, fg.threshold
 
Flashfocus

flashfocus

29/03/2007 18:52:00
Quote Anchor link
Hmm heb het geprobeerd, maar werkt niet
 
Marvin S

Marvin S

29/03/2007 19:01:00
Quote Anchor link
pd.products_id==fg.products_id

misschien een dubbele is, ik neem aan dat je ze vergelijkt daar?
en niet toekent:P
Gewijzigd op 01/01/1970 01:00:00 door Marvin S
 
Flashfocus

flashfocus

29/03/2007 19:11:00
Quote Anchor link
ook geprobeerd, werkt niet..

kreeg wel een tip? wat ik niet begrijp.. misschien zegt jou het wat en waar moet ik dat zoeken:

het probleem zit hier p.products_id = fg.products_id di ,zit in de where....and clausule, deze moet een join worden
 
Frank -

Frank -

29/03/2007 19:24:00
Quote Anchor link
Tip: Schrijf de query eens netjes uit, dat scheelt een hoop ellende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$query
= "
SELECT
  fg.*,
  p.products_id,
  pd.products_name
FROM
  "
. TABLE_CARROT . " fg,
  products p
    LEFT JOIN products_description pd ON fg.products_id = pd.products_id  
WHERE
  pd.language_id = '"
.$languages_id."'
AND
  p.products_id = fg.products_id
ORDER BY
  fg.threshold ASC
"
;
$gift_query = tep_db_query($query);
?>

Verder lijkt mij $gift_query geen query maar een result-set. $result of iets wat daar op lijkt, ligt dan ook meer voor de hand.

De join lijkt mij niet goed, je left een JOIN tussen 'products' en 'products_description' maar je noemt de tabel 'fg'. Dat gaat niet goed.

Edit: Probeer deze eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT
  fg.*,
  p.products_id,
  pd.products_name
FROM
  " . TABLE_CARROT . " fg
    LEFT JOIN products_description pd ON fg.products_id = pd.products_id,
  products p  
WHERE
  pd.language_id = '".$languages_id."'
AND
  p.products_id = fg.products_id
ORDER BY
  fg.threshold ASC
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Flashfocus

flashfocus

29/03/2007 19:37:00
Quote Anchor link
hmm ik krijg nu een ander fout melding:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\xampp\htdocs\onlineshopping\winkelsystem\includes\functions\database.php on line 99 (daar staat: return mysql_fetch_array($db_query, MYSQL_ASSOC);)

heeft dit niets te maken met het stukje wat onder het script staat?(zo is het 1 geheel.

while ($gift = tep_db_fetch_array($gift_query)) {

echo '<form action="gift_add.php" method="GET"><tr>
<td class="smallText">$<input type="text" size="4" name="threshold" value="'.$gift['threshold'].'"></td>
<td class="smallText">'.$gift['products_id'].'</td>
<td class="smallText">'.$gift['products_name'].'</td>
<td><a href="gift_add.php?ID=' . $gift['products_id'] . '&action=delete">' . tep_image_button('button_delete.gif', 'Delete') . '</a>&nbsp;<a href="categories.php?pID=' . $gift['products_id'] . '&action=new_product">' . tep_image_button('button_edit.gif', 'Edit') . '</a></td>
</tr></form>';
}

ps krijg nu wel wat script functies te zien, maar ze werken nog niet
Gewijzigd op 01/01/1970 01:00:00 door flashfocus
 
Niek s

niek s

29/03/2007 19:50:00
Quote Anchor link
die error betekent dat je query is mislukt.
dus doe eens een mysql_error();
 
Flashfocus

flashfocus

29/03/2007 19:55:00
Quote Anchor link
Bloos bloos, hoe doe je dat ( ben echt een newbie )
 
Frank -

Frank -

29/03/2007 19:59:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
if($gift_query){ // query gelukt
  // doe iets

}
else { // query mislukt
  echo mysql_error();
}

?>

Foutafhandeling mag nooit ontbreken.
 
Flashfocus

flashfocus

29/03/2007 20:11:00
Quote Anchor link
foutmelding blijft het zelfde?
 
Frank -

Frank -

29/03/2007 20:17:00
Quote Anchor link
flashfocus schreef op 29.03.2007 20:11:
foutmelding blijft het zelfde?
Ligt eraan wat je fout doet. Met deze check kun je nooit een fout krijgen op bv. mysql_fetch_assoc(), maar uitsluitend op het uitvoeren van de query. Dat is namelijk fout gegaan.
 
Flashfocus

flashfocus

29/03/2007 20:39:00
Quote Anchor link
Heb even een voorbeeldje gezocht.

moet ik dit in php uitvoeren. (waar invoer staat vul ik nat mijn gegevens in)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

//verbinding maken met je database
$link = mysql_connect('localhost','invoer','invoer');
mysql_select_db('invoer') or die ('Error connecting to database // Fout bij het verbinden met de database');

//dit is dus de query
$query = "
SELECT
  fg.*,
  p.products_id,
  pd.products_name
FROM
   fg,
  products p
    LEFT JOIN products_description pd ON fg.products_id = pd.products_id  
WHERE
  pd.language_id = '"
.$languages_id."'
AND
  p.products_id = fg.products_id
ORDER BY
  fg.threshold ASC"
;
  
$result = mysql_query($query) or die('Fout bij het ophalen van de gegevens uit de database... (' . mysql_error().' )');

$resultaten = mysql_num_rows($result);

if(!$resultaten == 0 OR !$resultaten > 1){
while($table = mysql_fetch_array($result)){

}
}


echo 'Laatste post ...:';
?>
 
Flashfocus

flashfocus

30/03/2007 09:01:00
Quote Anchor link
Of mis ik nog wat?
 
- wes  -

- wes -

30/03/2007 09:13:00
Quote Anchor link
geduld

bumpen na 24uur
 
Marvin S

Marvin S

30/03/2007 09:15:00
Quote Anchor link
bedoel je hiermee:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(!$resultaten == 0 OR !$resultaten > 1){



hetzelfde als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if($resultaten != 0){


?



toevoeging:
ik zag dat bij frank de
'.$languages_id.'
erin geslopen was.. staat deze ook gedefinieerd in jou script?




toevoeging2:
je schreef dit stukje code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
while ($gift = tep_db_fetch_array($gift_query)) {
//etc
}



Gebruik je nu 2 codes door elkaar? als je dit stukje gebruikt in combinatie met die ander werkt het niet omdat je in je laatste post dit zet:

$table = mysql_fetch_array($query);

en je probeerd ze terug te roepen met
$gift['naam']

dat moet dan natuurlijk worden:

$table['naam']

Gewijzigd op 01/01/1970 01:00:00 door Marvin S
 
Flashfocus

flashfocus

30/03/2007 09:46:00
Quote Anchor link
Oke even voor alle duidelijkheid.. volgens mij heb ik een beetje verwarring geschept.

Dit is het stukje scrip in zijn geheel.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php  
            $gift_query
= tep_db_query("SELECT fg.*, p.products_id, pd.products_name FROM " . TABLE_CARROT . " fg, products p
            LEFT JOIN products_description pd ON (pd.products_id=fg.products_id)
            WHERE pd.language_id = '"
.$languages_id."'
            AND p.products_id = fg.products_id
            ORDER BY fg.threshold ASC"
);
            
            while ($gift = tep_db_fetch_array($gift_query)) {
            
                echo '<form action="gift_add.php" method="GET"><tr>
                <td class="smallText">$<input type="text" size="4" name="threshold" value="'
.$gift['threshold'].'"></td>
                <td class="smallText">'
.$gift['products_id'].'</td>
                <td class="smallText">'
.$gift['products_name'].'</td>
            <td><a href="gift_add.php?ID='
. $gift['products_id'] . '&action=delete">' . tep_image_button('button_delete.gif', 'Delete') . '</a>&nbsp;<a href="categories.php?pID=' . $gift['products_id'] . '&action=new_product">' . tep_image_button('button_edit.gif', 'Edit') . '</a></td>
                </tr></form>'
;
            }
    
        ?>


Met dit stukje script krijg ik fout code:

1054 - Unknown column 'fg.products_id' in 'on clause'

SELECT fg.*, p.products_id, pd.products_name FROM free_gifts fg, products p LEFT JOIN products_description pd ON (pd.products_id=fg.products_id) WHERE pd.language_id = '4' AND p.products_id = fg.products_id ORDER BY fg.threshold ASC


Dit is het sql bestandje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE `free_gifts` (
  `gift_id` tinyint(4) NOT NULL auto_increment,
  `threshold` mediumint(9) NOT NULL default '0',
  `products_id` mediumint(9) NOT NULL default '0',
  PRIMARY KEY  (`gift_id`)
) TYPE=MyISAM;

insert into configuration (configuration_id, configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) values (1200, 'Gifts Image Width', 'GIFTS_IMAGE_WIDTH', '90', 'The pixel width of heading images', '4', '25', now(), now(), NULL, NULL);
insert into configuration (configuration_id, configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) values (1201, 'Gifts Image Height', 'GIFTS_IMAGE_HEIGHT', '100', 'The pixel height of heading images', '4', '26', now(), now(), NULL, NULL);
UPDATE configuration_group SET sort_order=last_insert_id() WHERE configuration_group_id=last_insert_id();

ALTER TABLE `products` ADD `products_carrot` tinyint(1) default '0' AFTER `products_status` ;


Waar zit precies de fout. Ik ben een nieuweling qua php. Ik begrijp nog niet veel. Enkeld dat of de script fout is.. of iets in de database.
 
Flashfocus

flashfocus

30/03/2007 09:51:00
Quote Anchor link
achtergrond van script (webwinkel script):

Totaal script zorgt ervoor dat klanten bij besteding van bijvoorbeeld 50 euro automatisch een cadeau krijgen in hun winkelwagen.

Dit stukje script bevind zich bij mij in de admin gedeelte en dient om de instellingen weer te geven, nieuwe cadeau toevoegen en in te stellen.
 
Jan Koehoorn

Jan Koehoorn

30/03/2007 10:14:00
Quote Anchor link
Misschien gaat het fout met je tabel-alias. Je zou het kunnen proberen met:

SELECT fg.*, p.products_id, pd.products_name FROM " . TABLE_CARROT . " AS fg, products AS p

dus met AS ertussen. Mocht dat ook niet werken, probeer dan maar eens de volledige tabelnaam. Ik zie overigens nog steeds geen errorchecking in je script. Dit is toch wel het minste:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php  
    $gift_query
= "
        SELECT fg.*, p.products_id, pd.products_name FROM "
. TABLE_CARROT . " AS fg, products AS p
        LEFT JOIN products_description pd ON (pd.products_id=fg.products_id)
        WHERE pd.language_id = '"
.$languages_id."'
        AND p.products_id = fg.products_id
        ORDER BY fg.threshold ASC"
;
    if (!$res = mysql_query ($sql)) {
        echo '<p>' . mysql_errno () . ': ' . mysql_error () . '</p>';
        echo '<pre>' . htmlentitie (str_replace ("\t", '', $sql)) . '</pre>';
    }

?>
 
Flashfocus

flashfocus

30/03/2007 10:43:00
Quote Anchor link
Hoi Jan,

Heb even gebrobeerd wat je zei. AS helpt ook niet.

Heb echter wel jou stukje script erin geplakt error check:

Ik kreeg nu deze melding:

1065: Query was empty


Fatal error: Call to undefined function htmlentitie() in C:\Program Files\xampp\htdocs\onlineshopping\winkelsystem\gift_add.php on line 94
 
Frank -

Frank -

30/03/2007 12:59:00
Quote Anchor link
1065: Query was empty

$gift_query =

mysql_query ($sql)

Ik mag hopen dat je de fout zelf ziet...
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.