Jump to content
php.lv forumi

Aprēķināt user skaitu


pilots
 Share

Recommended Posts

$user_count = @mysql_fetch_assoc(@mysql_query("SELECT count(*) AS total FROM users WHERE type!='0'"));
echo $user_count['total'];

 

Šādi skaitu cik ir lietotāji (type!=0 ir lai neiekļauj dzēstos). Vai šis variants ir ok, vai var īsākā ceļā šo iegūt, un vai šis nebremzēs, ja būs daudz lietotāju?

 

Un vai nevar aprēķināt tā, ka es izvadīšanai lietotu tikai $user_count nevis $user_count['total']?

Link to comment
Share on other sites

Kverijā int vērtības nav jānorāda pediņās (pieņemu, ka `type` ir cipars).

Maģiskais @ simbols strādā uz visu rindiņu, nav jēgas viņu atkārtoti bāzt priekšā.

 

mysql_result()

$user_count = mysql_result(mysql_query("SELECT count(*) FROM users WHERE type!=0", 0, 0);

 

Indexu uz type un nekas īpaši nebremzēs. Taču tik un tā iesaku uz kaut kādu laiku nokešot rezultātu, jo diezvai ir tik svarīgi zināt konkrētu ciparu konkrētajā sekundē.

Link to comment
Share on other sites

Silts ieteikums - pēc iespējas ātri aizmirsti tāda '@' eksistenci un pārstāj viņu lietot. 99.99% gadījumu viņš nav vajadzīgs un var radīt situācijas, kurās tu vēl nez cik stundas meklēsi kādu pazudušo simbolu..

Link to comment
Share on other sites

Es nesaku, ka tā ir. Es tikai nezinu, kā lai savādāk novērš paziņojumu.

 

Ja ievadītie dati "login.php" ir pareizi, tad ir ok! =)

 

if(!combo(get__ID__from__username($_POST['username']), sha1($_POST['password']))) {

// Invalid username/password.

}

 

...pretējā gadījumā tiek mests paziņojums, ko izraisa get__ID__from__username().

 

function get__ID__from__username($username)
{

$SQL = 'SELECT `ID` FROM `users` WHERE `username`="' . $username . '"';
$query = mysql_query($SQL);

return @mysql_result($query, 0);

}

 

Tāpēc tur ieliku "ļaunuma zīmi"... =D

 

P.S. Zinu, ka mans kods ir līks. Tāpēc jau arī mācos! =)

Link to comment
Share on other sites

1) Nav mysql_real_escape_string

 

Vai tas šis te nav jāizmanto tikai saglabājot ko DB?? Es tā biju iedomājies, jo, ja DB glabājās tikai labas lietas, tad jau nav no kā bīties... Vai ne tā?

Link to comment
Share on other sites

Pirmkārt, kas ir combo?

 

function combo($ID, $password)
{

$SQL = 'SELECT `ID` FROM `users` WHERE `ID`="' . $ID . '" and `password`="' . $password . '" LIMIT 1';
$query = mysql_query($SQL);

if(mysql_num_rows($query) == true) {

	return true;

}

}

Link to comment
Share on other sites

Vai tas šis te nav jāizmanto tikai saglabājot ko DB?? Es tā biju iedomājies, jo, ja DB glabājās tikai labas lietas, tad jau nav no kā bīties... Vai ne tā?

Nē, tā pavisam noteikti nav. Pamēģini izpildīt šādu joku:

 

combo('" OR 1 --', 'raksti šeit dajebko, kas ienāk prātā, jo šis netiek vairs nemaz ņemts par pilnu :)');

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...