Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 4 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Problem s num_rows hodnota nesedi

Registrovaný: 21.02.07
Prihlásený: 29.06.21
Príspevky: 150
Témy: 59
Bydlisko: Prievidza
Príspevok NapísalOffline : 29.03.2017 7:47

Ahojte, trapim sa tu s jednym problemom ktoremu neviem prist na pricinu. Mam tuto jednoduchu cast kodu

Kód:
 /// BackUp riadok ak 1 robi zalohu ak 0 nerobi
            $insertEquip = $conn->query("INSERT INTO ".$equip_type." (IPAddress, Name, Date, BackUp) VALUES ('".$ip_equip."','".$equip_name."','".$date_add."',true)");
       
            if ( !$insertEquip ) {
                echo "Vyskytla sa nasledujúca chyba, pridanie neprebehlo korektne : ";
                echo $conn->error;
                exit;
            }


Kod pridava do db jednotlive zariadenia a ich IP adresu, povodne som mal nastavene IPAddress na UNIQUE aby som sa vyhol duplicite. Ale z nejakeho dovodu vznikla Duplicitna chyba niekedy pri vkladani novej IP aj ked v tabulke vobec nebola. Preto som zrusil UNIQUE a nastavil len INDEX na IP v php som len na test pridal aj tuto cast kodu

Kód:
$selectEquip = $conn->query("SELECT * FROM ".$equip_type." WHERE `IPAddress` = '".$ip_equip."'");
       
$selectRows = $selectEquip->num_rows;


A problem sa v podstate opakuje ako pri UNIQUE pri niektorych IP mi num rows vrati 1 ako by dostal zaznam z tabulky ze tam je ale pritom tam nie.
Overoval som si to aj tak ze pred pridanim do DB som si cez phpmyadmina skusil SELECTom vytiahnut IP ktore planujem pridat ale ich nenaslo cize vratilo 0.Ale ked som to pridaval uz cez formular a teda hore uvedeny kod pri niektorych bola hodnota num_rows 1 a tym padom ho nepridalo.

A tu je este nakoniec struktura tabulky kde sa data vkladaju

Kód:
CREATE TABLE `mikrotik` (
  `ID` int(11) UNSIGNED NOT NULL,
  `IPAddress` varchar(15) COLLATE utf8mb4_unicode_ci NOT NULL,
  `Name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `Date` date NOT NULL,
  `BackUp` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


Za kazdu radu alebo nasmerovanie k rieseniu problemu dakujem


Offline

Správca fóra
Správca fóra
Problem s num_rows hodnota nesedi

Registrovaný: 08.08.09
Príspevky: 12449
Témy: 39
Príspevok NapísalOffline : 29.03.2017 9:36

1. Používaj na zistenie počtu záznamov priamo agragačnú funkciu [c]SQL:COUNT()[/c].
Nemusíš vyberať "všetky" záznamy a potom v PHP počítať, ak s nimi ďalej nerobíš a chceš len vedieť koľko ich je, databáza to urobí rýchlejšie za teba.
Ak máš nastavený primárny kľúč na stĺpci ID, stačí takto:
Kód:
SELECT COUNT(*) AS count FROM " . $equip_type . " WHERE `IPAddress` = '" . $ip_equip . "'"

Potom s tým pracuješ ako s normálnym "výsledkom", takže už nemôžeš testovať cez mysqli::num_rows (!!!), keďže tento SELECT vždy vráti výsledok - v stĺpci [c]count[/c] máš počet a ten skontroluješ na podmienku == 0
2. Pokiaľ by si chcel s tým záznamom, ktorý vyberieš niečo robiť, potom namiesto num_rows rob v PHP [c]count()[/c] a spočítaj priamo výsledky ktoré SELECT vráti.
3. Keď si to testoval v PHPMyAdmine, používal si SELECT, ktorý ti vrátilo toto PHP s názvom tabuľky a IP adresou z premenných $equip_type a $ip_equip, alebo si si napísal vlastný?







_________________
always is always wrong
Offline

Užívateľ
Užívateľ
Problem s num_rows hodnota nesedi

Registrovaný: 21.02.07
Prihlásený: 29.06.21
Príspevky: 150
Témy: 59
Bydlisko: Prievidza
Príspevok Napísal autor témyOffline : 30.03.2017 7:27

Aha jasne prerobim to teda s funkciou COUNT() dakujem za radu.

Co sa tyka toho PHPMyAdminu v podstate som pouzil presne ten isty SELECT samozrejme s tym ze miesto premennych som zadal napevno tie udaje ktore som vedel ze budem vkladat potom aj cez PHP. Avsak tam mi SELECT vratil 0 ale z PHP uz potom 1.

Co som kukal aj stackoverflow.com tiez tam bol jeden prispevok ze podobne sa to spravalo pri vkladani jedinecnych IP Adries. Bolo tam spomenute ze problem moze byt problem v type dat (aj ich dlzke) plus potom kodovanie. Zmenil som na test aj dlzku a aj kodovanie na binarne ako spominali ale aj tak nepomohlo.


Offline

Správca fóra
Správca fóra
Problem s num_rows hodnota nesedi

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 03.04.2017 15:17

Vyskusaj, ci pomoze, ak budes ip adresy ukladat ako int (unsigned) cez inet_aton()







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Odpovedať na tému [ Príspevkov: 4 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Nesedi 8 pinovy slot

v Intel čipové sady

5

539

16.01.2018 9:21

Patronis Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. rozlisenie tv nesedi s pomerom stran??

v TV

0

291

02.11.2012 21:19

desann Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kábel od elektriny na zdroj nesedí.

v PC skrinky a zdroje

9

408

16.04.2018 20:18

alienko1122 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hodnota

v PHP, ASP

6

805

12.08.2009 12:53

scrysurn Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hodnota?

v Informujem sa

0

249

06.01.2023 16:37

Guticek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hodnota zostavy

v Informujem sa

2

396

02.10.2023 7:25

matmatmat Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. hodnota notebooku

v Notebooky a netbooky

4

446

30.07.2013 13:41

liqua1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. max hodnota

v JavaScript, VBScript, Ajax

2

670

03.01.2012 21:44

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. hodnota pc

v PC zostavy

8

690

05.01.2008 12:37

cs_skillers Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hodnota Komponentov

v Informujem sa

3

431

16.05.2014 14:53

D_u Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hodnota zostáv

v Informujem sa

1

304

25.01.2022 12:13

poper25 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. hodnota notebooku

v Informujem sa

3

520

01.10.2015 20:59

pepkopav Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hodnota pc ?

v Informujem sa

1

420

29.11.2017 22:08

MarkoV Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hodnota PC

v Informujem sa

0

435

28.05.2019 19:34

tomek9231 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Stredna hodnota

v Assembler, C, C++, Pascal, Java

2

404

28.10.2013 9:28

marian_r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PC hodnota?

v PC zostavy

10

1037

26.11.2006 11:16

phoenix_nsk Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra