| | |
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Autor | Správa |
---|
Registrovaný: 05.11.06 Prihlásený: 05.11.06 Príspevky: 4 Témy: 2 | Napísal Noxer: 05.11.2006 1:46 | |
|
Potrebujem vložiť do stĺpca textovú informáciu v kombinácii s číslami.
parameter stĺpca je VARCHAR (250). Samotný text bez problémov zapíše keď je však hodnota text a čísla vypíše
Data too long for column 'ulica' at row 1
Nerobím často s MySQL a s takýmto niečim som sa ešte nestretol.
Dík za radu
|
|
Registrovaný: 06.05.06 Prihlásený: 05.08.11 Príspevky: 171 Témy: 8 Bydlisko: Svaty Jur | Napísal wlacho: 05.11.2006 9:18 | |
|
skus poslat code, ktory to zapisuje
|
|
Registrovaný: 05.11.06 Prihlásený: 05.11.06 Príspevky: 4 Témy: 2 | Napísal autor témy Noxer: 05.11.2006 14:34 | |
|
Štandartne používaný INSERT
$VlozData=mysql_query("INSERT INTO uzivatelia VALUES ('0', '$prihlmeno', '$heslo', '$firma', '$ulica', '$mesto', '$psc', '$stat', '$ico', '$dic', '$icdph', '$meno', '$priezvisko', '$titul', '$mobil', '$telefon', '$email', '$web', '$twofirma', '$twoulica', '$twomesto', '$twopsc', '$threefirma', '$threeulica', '$threemesto','$threestat', '$threepsc', '$hd', '$ohlas', '$sendmail', '$poznamky', '0')") or die (mysql_error());
No a v položke ulica je napríklad : Jahodová 3452/158
|
|
Registrovaný: 05.11.06 Prihlásený: 05.11.06 Príspevky: 4 Témy: 2 | Napísal autor témy Noxer: 05.11.2006 23:59 | |
|
Ked sa to pokusim vlozit cez phpMyAdmin tak je to isté
vypíše:#1406 - Data too long for column 'ulica' at row 1
V Dokumentácii je:
Error: 1406 SQLSTATE: 22001 (ER_DATA_TOO_LONG)
Message: Data too long for column '%s' at row %ld
Neviem s tým pohnúť.
|
|
Registrovaný: 06.05.06 Prihlásený: 05.08.11 Príspevky: 171 Témy: 8 Bydlisko: Svaty Jur | Napísal wlacho: 06.11.2006 7:56 | |
|
neviem ci mu tam nahodou nnevadi lomitko /
|
|
Registrovaný: 24.04.06 Prihlásený: 23.07.08 Príspevky: 48 Témy: 1 Bydlisko: 0x800045 | Napísal tRizzO: 14.11.2006 17:07 | |
|
jo vadi.... osetri vstup pomocou fcii, ktore ma php.... pozri v manuale.
_________________ Fujitsu- Siemens Lifebook E8020D Pentium-M 740 1.73GHz 2MB SLC, 512MB RAM DDR2, ATI Mobility Radeon X600, 60GB HDD, LCD 15" SXGA (1400x1050), Li-ION batéria 4800 mAh, WLAN/Modem/Gbit LAN, Touchpad, Touch Stick, Security panel, integrovaná čítačka čip. kariet, PCMCIA: 1 x typ I/II, 1xserial, 1x Express card I/II, 1x parallel, 1x VGA, 4x USB 2.0, Fast IrDa, PS/2, S-Video out, Firewire (IEE1394), 1x Micro, 1x head phone/SPDIF, Windows XP Professional SP2 |
|
Registrovaný: 14.06.07 Prihlásený: 23.10.08 Príspevky: 28 Témy: 5 |
ja sa prvý krát snažím vložiť do databázy MySQL dáta prostredníctvom webu a stále mi to vypisuje chybu. pritom netuším, kde je chyba.
vypisuje mi takúto chybovú správu:
Fatal error: Call to undefined function: mysqli_connect() in d:\programy\easyphp1-8\www\write_in_db.php on line 37
pritom spojenie na databázu normálne vytváram týmto:
$db = mysqli_connect('localhost', 'root', '', 'recepty');
ďakujem za pomoc
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | Napísal shaggy: 14.06.2007 12:46 | |
|
poznáš funkciu mysql i_connect? Ja nie, skús použiť:
mysql_connect
|
|
Registrovaný: 14.06.07 Prihlásený: 23.10.08 Príspevky: 28 Témy: 5 |
no ja som z toho jeleň
diki shaggy, to i som už zmazal, no teraz mi to píše zase inú chybu.
tu je celý zdrojový kod:
<html>
<head>
<style type="text/css">
<!--
-->
</style>
</head>
<body>
<?php
//vytvorenie kratkych nazvov premennych
$nazov_receptu=$_POST['nazov_receptu'];
$cas_pripravy=$_POST['cas_pripravy'];
$kategoria=$_POST['kategoria'];
$suroviny=$_POST['suroviny'];
$priprava=$_POST['priprava'];
$pridal=$_POST['pridal'];
//kontrola formulára
if (!$nazov_receptu || !$cas_pripravy || !$kategoria || !$suroviny || !$priprava || !$pridal)
{
echo 'Nezadali ste všetky potrebné údaje.<br />';
exit;
}
//vytvorenie pripojenia k databáze
$db = new mysql('localhost', 'root', '', 'recepty');
//kontrola pripojenia
if (mysql_connect_errno())
{
echo 'Chyba: k databáze sa nedá pripojiť.';
exit;
}
//voloženie záznamov
$query = "insert into recepty_nepridane
(nazov, cas_pripravy, kategoria, suroviny, priprava, pridal)
values
('$nazov_receptu', '$cas_pripravy', '$kategoria', '$suroviny', '$priprava', '$pridal')";
$result = $db->query($query);
if ($result)
echo 'vsetko poriadku';
$db->close();
?>
</body>
</html>
ako vidíte, spravil som si vlastnú kontrolu a obsluhu chýb, síce len primitívnu. no keď dám potlačiť chybové správy znakom @, tak mi nevypisuje moje vlastné chyby. keď chybové správy nepotláčam, tak mi vypisuje toto:
Fatal error: Cannot instantiate non-existent class: mysql in d:\programy\easyphp1-8\www\write_in_db.php on line 39
|
|
Registrovaný: 01.05.05 Príspevky: 13348 Témy: 1496 Bydlisko: Bratislava | Napísal JanoF: 14.06.2007 14:44 | |
|
shaggy píše: poznáš funkciu mysql i_connect? Ja nie, skús použiť: mysql_connect nie kazdy pozna vsetko
http://sk.php.net/mysqli_connect
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | Napísal shaggy: 14.06.2007 23:22 | |
|
He he, s databázami robím od nedele, takže nepoznám všetko
Ale vidíš, že ten jeho problém bol tou funkciou. Síce má teraz ďalší, ale s prvým som mu pomohol.
No... takže tak, aspoň som múdrejší
|
|
Registrovaný: 01.05.05 Príspevky: 13348 Témy: 1496 Bydlisko: Bratislava | Napísal JanoF: 15.06.2007 0:10 | |
|
shaggy píše: He he, s databázami robím od nedele, takže nepoznám všetko Ale vidíš, že ten jeho problém bol tou funkciou. Síce má teraz ďalší, ale s prvým som mu pomohol. No... takže tak, aspoň som múdrejší ono mysqli_connect mozes pouzit ak mas aj taku db, to nieje obycajna MySQL a nie kazdy hosting to ma, ale to sa uz mozem mylit, do databaz sa vyznam asi ako murar do transplantacie srdca
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 15.06.2007 2:15 | |
|
Zdá sa, že Improved MySQL Extension (mysqli) pracuje objektovo. Zaujímavé porovnanie oboch rozšírení: http://www.johnjawed.com/benchmarks/index.php .
PHP zaciatocnik, tvoj problém je v tom, že nikde nedefinuješ triedu mysql, ktorou sa snažíš pripojiť k databázi. Takže buď si zoženieš definíciu tej triedy, alebo pôjdeš cez prachobyčajné neobjektové riešenie s pár funkciami.
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 14.06.07 Prihlásený: 23.10.08 Príspevky: 28 Témy: 5 |
p360t
ale veď trieda mysql je definovaná títo riadkom. aspoň ja to takto chápem...
$db = new mysql('localhost', 'root', '', 'recepty');
|
|
Registrovaný: 14.06.07 Prihlásený: 23.10.08 Príspevky: 28 Témy: 5 | |
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 15.06.2007 11:18 | |
|
Teraz som si nie na 100% istý terminológiou, ale to nie je definícia, ale vytvorenie objektu (inštancie triedy). To je ako s funkciami - to čo tam máš ty napísané je ako keby volanie funkcie, ale tú funkicu musíš najprv niekde definovať, povedať jej, čo má robiť. S triedami a objektami je to rovnako. Ty už chceš hneď pracovať s objektom, ale ešte si nedefinoval triedu.
Vysvetlenie:
Kód: $db = new mysql('localhost', 'root', '', 'recepty');
$db je objekt, ktorý je inštanciou triedy mysql. Ty tú triedu musíš najprv definovať (začína sa to kľúčovým slovom class).
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|