Uldeens Posted December 28, 2003 Report Share Posted December 28, 2003 Man ir DB tabula Login,Kolona Vards ar usernamiem, skripta dala kuras uzdevums ir paarbaudiit vai ir taads users ja nav tad ierakstiit to DB. ....... mysql_query ("SELECT vards from Login"); $skaits= mysql_query("SELECT COUNT(vards) FROM Login WHERE (vards=$vards) "); if($Skaits=>1) {echo "viss jau ir taads users" } else { mysql_query("INSERT INTO $usertable (vards,parole,epasts) VALUES ('$vards','$parole','$epasts')"); } ?> Link to comment Share on other sites More sharing options...
Kaklz Posted December 28, 2003 Report Share Posted December 28, 2003 Man ir DB tabula Login,Kolona Vards ar usernamiem,skripta dala kuras uzdevums ir paarbaudiit vai ir taads users ja nav tad ierakstiit to DB. ....... mysql_query ("SELECT vards from Login"); $skaits= mysql_query("SELECT COUNT(vards) FROM Login WHERE (vards=$vards) "); if($Skaits=>1) {echo "viss jau ir taads users" } else { mysql_query("INSERT INTO $usertable (vards,parole,epasts) VALUES ('$vards','$parole','$epasts')"); } ?> un kur probleema? Link to comment Share on other sites More sharing options...
jb4 Posted December 28, 2003 Report Share Posted December 28, 2003 Problēma ir iekš tā, ja $skaits=mysql_query(...) neatgriež attiecīgo ierakstu skaitu datubāzē. mysql_query() atgriež rezultātu identifikatoru. Lai dabūtu no tā laukā ierakstu skaitu, tev jāizmanto papildus mysql_fetch_row(): <?php .. $result = mysql_query("SELECT COUNT(*) FROM tabula WHERE ..."); $row = mysql_fetch_row($result); $skaits = $row[0]; if ( $skaits>0 ) { echo 'Mums jau ir taads lietotajs'; } else { mysql_query("INSERT INTO tabula (...) VALUES (...)"); echo 'Pievienojaam lietotaaju'; } ?> Link to comment Share on other sites More sharing options...
Kaklz Posted December 28, 2003 Report Share Posted December 28, 2003 (edited) Problēma ir iekš tā, ja $skaits=mysql_query(...) neatgriež attiecīgo ierakstu skaitu datubāzē. mysql_query() atgriež rezultātu identifikatoru. Lai dabūtu no tā laukā ierakstu skaitu, tev jāizmanto papildus mysql_fetch_row(): <?php .. $result = mysql_query("SELECT COUNT(*) FROM tabula WHERE ..."); $row = mysql_fetch_row($result); $skaits = $row[0]; if ( $skaits>0 ) { echo 'Mums jau ir taads lietotajs'; } else { mysql_query("INSERT INTO tabula (...) VALUES (...)"); echo 'Pievienojaam lietotaaju'; } ?> aa .. ta tjip probleema pasham bija jaaizdomaa :lol: vai arii jaauzmin .. Edited December 28, 2003 by Kaklz Link to comment Share on other sites More sharing options...
Little_Hacker Posted December 28, 2003 Report Share Posted December 28, 2003 konkurss.. kursh atradiis kljudu.. Link to comment Share on other sites More sharing options...
Uldeens Posted December 28, 2003 Author Report Share Posted December 28, 2003 man kaa lamerim taapat ne velna neaizgaaja....:( vieglaak peec pieredzes ir rakstiit to skriptu pa jaunu jo cik man ir boreejusi forumos kluudu nekad taa arii neesu atradis. Balstiishos uz JB4 koda un taisiisu pa jaunu visu.. Link to comment Share on other sites More sharing options...
hu_ha Posted December 28, 2003 Report Share Posted December 28, 2003 nu taksh tev jb4 paraadiija kaa ir pareizi: $result = mysql_query("SELECT COUNT(*) FROM tabula WHERE ..."); $row = mysql_fetch_row($result); $skaits = $row[0]; un nevis kaa tev bija: $skaits= mysql_query("SELECT COUNT(vards) FROM Login WHERE (vards=$vards) "); ---------------------------------------- mysql_query atgriezh veertiibas true/false - tipa vaicaajums ir izpildaams vai nav izpildaams. tad tev ir jaasavaac tas ko tu tajaa vaicaajumaa ieguvi ar mysql_fetch_row() dotajaa gadiijumaa tavs masiivs buus ar vienu elementu un ar vienu kolonu (viens skaitlis) un tas arii ir tas ko tev vajag - taapeec arii $row[0] un bez nekaada cikla. (ja kaut ko saleeju, tad labojiet, bet nevajadzeetu taa buut) Link to comment Share on other sites More sharing options...
Aleksejs Posted December 29, 2003 Report Share Posted December 29, 2003 mysql_query (kā jau jb4 teica) atgriež 0, ja vaicājums nav izpildījies veiksmīgi (tas nozīmē, ka ir notikusi kāda kļūda, piemēram, nekorekts SQL vai nav pieslēguma datubāzei...) vai arī integer > 0, kas ir rezultāta identifikators. Tā, manuprāt, būtu pareizāk. mysql_query atgriezh veertiibas true/false - tipa vaicaajums ir izpildaams vai nav izpildaams.tad tev ir jaasavaac tas ko tu tajaa vaicaajumaa ieguvi ar mysql_fetch_row() Link to comment Share on other sites More sharing options...
des Posted December 29, 2003 Report Share Posted December 29, 2003 Un pie tam veel querijaa strings ir jaaieraxta peedinjaas, man domaat: ("SELECT COUNT(vards) FROM Login WHERE (vards='$vards')"); Link to comment Share on other sites More sharing options...
Venom Posted December 30, 2003 Report Share Posted December 30, 2003 es ieteiktu pārbaudīt nevis ar mysql_fetch_row bet gan ar mysql_affected_rows() Link to comment Share on other sites More sharing options...
Aleksejs Posted December 30, 2003 Report Share Posted December 30, 2003 Dokumentācija saka, ka mysql_affected_rows() attiecas tikai uz INSERT, UPDATE un DELETE utt vaicājumiem. SELECTam ir mysql_num_rows(). mysql_num_rows() returns the number of rows in a result set. This command is only valid for SELECT statements. To retrieve the number of rows affected by a INSERT, UPDATE or DELETE query, use mysql_affected_rows(). Link to comment Share on other sites More sharing options...
Recommended Posts