[ 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 | 59
Bydlisko: Prievidza
NapísalOffline : 29.03.2017 7:47 | Problem s num_rows hodnota nesedi

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: 12446
Témy: 38 | 38
NapísalOffline : 29.03.2017 9:36 | Problem s num_rows hodnota nesedi

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 | 59
Bydlisko: Prievidza
Napísal autor témyOffline : 30.03.2017 7:27 | Problem s num_rows hodnota nesedi

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 | 51
Bydlisko: Bratislava
NapísalOffline : 03.04.2017 15:17 | Problem s num_rows hodnota nesedi

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
 [ Príspevkov: 4 ] 


Problem s num_rows hodnota nesedi



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 platformy

5

668

16.01.2018 9:21

Patronis

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

493

16.04.2018 20:18

alienko1122

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

rozlisenie tv nesedi s pomerom stran??

v TV

0

383

02.11.2012 21:19

desann

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

Hodnota

v Backend

6

887

12.08.2009 12:53

scrysurn

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

Hodnota?

v Bazár

0

367

06.01.2023 16:37

Guticek

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

Hodnota pc ?

v Bazár

1

505

29.11.2017 22:08

MarkoV

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

PC hodnota?

v PC zostavy

10

1128

26.11.2006 11:16

phoenix_nsk

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

Hodnota PC

v Bazár

3

515

07.09.2022 19:27

matejr86

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

max hodnota

v Frontend

2

950

03.01.2012 21:44

Ďuri

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

hodnota notebooku

v Kôš

1

34

14.01.2017 16:51

ac.milan

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

Hodnota PC

v Bazár

0

507

28.05.2019 19:34

tomek9231

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

Hodnota Komponentov

v Bazár

3

505

16.05.2014 14:53

D_u

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

Hodnota notebooku

v Bazár

1

443

10.10.2015 8:35

shiro

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

Hodnota zostáv

v Bazár

1

393

25.01.2022 12:13

poper25

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

Hodnota PC

v Bazár

7

673

25.06.2022 11:09

cyrilko98

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

Stredna hodnota

v Backend

2

501

28.10.2013 9:28

marian_r



© 2005 - 2026 PCforum, edited by JanoF