Autor | Zpráva | ||
---|---|---|---|
Urbik Profil * |
#1 · Zasláno: 19. 9. 2008, 21:09:40
Dobrý den,
mám tabulku: CREATE TABLE IF NOT EXISTS `nabidky` ( `id` int(11) unsigned NOT NULL auto_increment, `nazev` varchar(40) collate utf8_unicode_ci NOT NULL, `special` tinyint(1) NOT NULL default '0', `foil` tinyint(1) NOT NULL default '0', `jazyk` enum('anglicky','asijsky') collate utf8_unicode_ci NOT NULL default 'anglicky', `edice` varchar(30) collate utf8_unicode_ci NOT NULL, `pocet` tinyint(4) unsigned NOT NULL default '0', `cena` smallint(5) unsigned NOT NULL default '0', `poznamka` tinytext collate utf8_unicode_ci, `img` tinyint(1) NOT NULL default '0' COMMENT 'Cesta k obrázku: ROOT."/imgs/upload/".$id_karty', PRIMARY KEY (`id`), KEY `vyhledávač` (`nazev`,`special`,`foil`,`jazyk`,`edice`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=47 ; a další: CREATE TABLE IF NOT EXISTS `objednavky` ( `jmeno` varchar(30) character set utf8 collate utf8_czech_ci NOT NULL, `id_karty` int(10) unsigned default NULL, `nazev_karty` varchar(40) character set utf8 collate utf8_czech_ci default NULL, `pocet` tinyint(3) unsigned NOT NULL, `stav` enum('hlidano','kosik','objednano') collate utf8_unicode_ci NOT NULL default 'kosik', `cas` int(10) unsigned NOT NULL, UNIQUE KEY `id_karty` (`jmeno`,`id_karty`,`nazev_karty`,`stav`), KEY `jmeno` (`cas`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; a pomocí příkazu select chci vybrat záznamy se stejným názvem tedy "nazev" a "nazev_karty": SELECT objednavky.id_karty, objednavky.nazev_karty, objednavky.pocet, nabidky.pocet, objednavky.cas, nabidky.cena FROM objednavky LEFT JOIN nabidky ON objednavky.nazev_karty = nabidky.nazev WHERE jmeno = ? AND stav = 'hlidano' ORDER BY objednavky.cas; chyba: "Fatal error: Call to a member function bind_param() on a non-object in C:\AppServ\www\mtg\skripty\mysqlidb.php on line 148" tedy mám špatně napsaný SQL dotaz... v případě: SELECT objednavky.id_karty, objednavky.nazev_karty, objednavky.pocet, nabidky.pocet, objednavky.cas, nabidky.cena FROM objednavky LEFT JOIN nabidky ON objednavky.id_karty = nabidky.id WHERE jmeno = ? AND stav = 'hlidano' ORDER BY objednavky.cas; však vše funguje správně... Děkuji za případnou pomoc, Urbik |
||
Urbik Profil * |
#2 · Zasláno: 19. 9. 2008, 21:12:19
oprava: ve druhé tabulce jsem zvýraznil špatné sloupce, zvýrazněny mají být "id_karty" a "nazev_karty"
jen pro pořádek... ;D |
||
Kajman_ Profil * |
#3 · Zasláno: 20. 9. 2008, 20:19:46
Máte poslední stabilní verzi? A když budete mít v obou sloupcích stejné collation, tak to taky padá? Případně, když ho doplníte do podmínky?
|
||
Urbik Profil * |
#4 · Zasláno: 20. 9. 2008, 23:16:02
Bylo to tím collation, děkuji za radu!
Sice jsem to už předtím kontroloval, ale musel jsem se asi přehlídnout nebo prostě nějaké zmatení mysli... ;o) |
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0