Jump to content
php.lv forumi

laikam atkal spams


Uldeens

Recommended Posts

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

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

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

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 by Kaklz
Link to comment
Share on other sites

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

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

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

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

×
×
  • Create New...