carlo497
19.12.2009, 17:19:22
Moze ktos powiedziec gdzie tu jest blad? Dostaje komunikat Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /apache/apache-common/virt/virtuals/virt-699640/witryna/select.php on line 12
<?php
$query = "SELECT nazwa. brutto " .
"FROM 2009p " .
"WHERE producent = BOSCH " .
foreach ($row as $vall) {
}
}
?>
darko
19.12.2009, 17:25:01
na pewno SELECT nazwa. brutto

Sprawdź to, co chcesz wyciągnąć? Podaj strukturę tabeli.
carlo497
19.12.2009, 17:48:16
Tabela. Chce wyciagnac nazwe i cene kazdego produktu, ktorego producentem jest bosh
darko
19.12.2009, 17:51:13
zmiany:
1. SELECT nazwa, brutto
2. WHERE producent = 'BOSCH'
ps
trzymanie wszystkich danych włącznie z ceną i stanem magazynowym w polach typu varchar(255) nie jest najlepszym pomysłem
carlo497
20.12.2009, 00:32:21
dalej ten sam blad
darko
20.12.2009, 00:49:56
Pamiętaj, że w zapisie WHERE producent = 'BOSCH' istotna jest wielkość liter. Na pewno dałeś SELECT nazwa, brutto ? Zapytanie powinno być poprawne (ponieważ mysql_error() nie zwraca błędu), a baza nie jest czysta (banał, ale już kiedyś taka sytuacja miała miejsce)? Zrób tak, złącz zapytanie w jedną całość (w jednej linii nie rozrywając łańcucha znaków) i pokaż je jeszcze raz.
carlo497
20.12.2009, 12:31:35
Dalej ten sam komunikat tyle ze wsazuje na linie 8
<?php
$query = "SELECT nazwa, brutto " ."FROM 2009p " ."WHERE producent = 'Amica' " .$results = mysql_query($query)or
die (mysql_error());
foreach ($row as $vall) {
}
}
?>
EDIT
Zauwazylem ze nie importuje mi calej bazy tzn. co jakis czas mam puste pola w bazie. Moze to jest przyczyna tego problemu
lukasz_os
20.12.2009, 12:57:46
$query = "SELECT nazwa, brutto " ."FROM 2009p " ."WHERE producent = 'Amica' " .$results = mysql_query($query)or
die (mysql_error());
zamień na:
$query = "SELECT nazwa, brutto " ."FROM 2009p " ."WHERE producent = 'Amica' ";
carlo497
20.12.2009, 13:29:27
lukasz_os; po wpisaniu tego co podales dostalem blad You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2009 WHERE producent = 'Amica'' at line 1
Zauwazylem ze baza ma powazne braki
klik. Mam plik xls z cennikiem zapisywalem go jako txt i wrzucalem przez program Navicat do bazy lub w samej bazie dawalem import i zawsze mialem braki. Co robie zle?
darko
20.12.2009, 13:34:42
upewnij się, że 2009p to prawidłowa nazwa tabeli, przyznam, że nigdy nie stosowałem nazwa tabel zawierających liczby i nie wiem jak się tutaj mysql zachowuje. Poza tym nazwa kolumny to "Producent", a nie "producent" oraz "Nazwa", a nie "nazwa". Przestrzegaj wielkości liter w nazwach kolumn
carlo497
20.12.2009, 14:34:01
Nazwy zawsze dokladnie sprawdzalem wielkosc liter takze. Dalej nie wiem jak zrobic zeby sie wszystkie dane zaimportowaly
darko
20.12.2009, 14:40:50
Pokaż jeszcze raz cały kod
carlo497
20.12.2009, 15:02:01
nie chodzi mi o kod tylko o baze. Na zdjeciu widac ze polowy danych nie importuje
<?php
$query = "SELECT nazwa, brutto " ."FROM 2009 " ."WHERE producent = 'Amica' " .$results = mysql_query($query)or
die (mysql_error());
foreach ($row as $vall) {
}
}
?>
darko
20.12.2009, 15:03:36
No i źle, zamień:
$query = "SELECT nazwa, brutto " ."FROM 2009 " ."WHERE producent = 'Amica' " .$results = mysql_query($query)or die (mysql_error());
na
$query = "SELECT Nazwa, brutto FROM 2009 WHERE Producent = 'Amica'";
ps. w końcu nazwa tabeli to 2009 czy 2009p ?
carlo497
20.12.2009, 15:22:55
komunikat You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2009 WHERE producent = 'Amica'' at line 1. Nazwa tabeli to 2009
darko
20.12.2009, 15:43:49
1. Oczywiście w linii 2. dla mysql_connect podajesz kolejno nazwę: hosta, użytkownika i hasło ?
2. Zmodyfikowałeś linię 6. ?
3. spróbuj zamiast SELECT nazwa dać SELECT Nazwa
4. nie chce mi się wierzyć w to, że zapytanie nie wykonuje się, ponieważ pole Nazwa dla Producent = 'Amica' jest puste
5. zapytanie wygląda na poprawne (dla ostatniej struktury, którą podałeś), nie wiem czy wszystko dobrze zmieniłeś, może ktoś inny będzie Ci w stanie pomóc...
Pozdrawiam
carlo497
20.12.2009, 16:06:08
Tak, podaje wszystkie dane do logowania, wszystko zmodyfikowalem tak jak pisales. Po zmianie na Nazwa dalej nie dziala
darko
20.12.2009, 16:10:51
Wiem problemem jest nazwa tabeli złożona z liczb, użyj symbolu acutus:
from `2009`
czyli
$query = "SELECT Nazwa, brutto FROM `2009` WHERE Producent = 'Amica'";
carlo497
20.12.2009, 16:42:47
Dziala

Dzieki za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.