کد ش:
<?php
$databaseHost = 'localhost'; //your db host
$databaseName = 'cublux'; //your db name
$databaseUsername = 'root'; //your db username
$databasePassword = '';// db password
$mysqli = mysqli_connect($databaseHost, $databaseUsername, $databasePassword, $databaseName);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="select count('1') from users";
$result=mysqli_query($mysqli,$sql);
$row=mysqli_fetch_array($result);
echo "<h3>$row[0]</h3>";
mysqli_close($mysqli);
?>شاید پاسخ شما همینجا باشد
سلام
یک راهش همینه که دوستان هم اشاره کردند راه بعدی اینه که یک تیبل برای نگهداری مقادیر و پارامترهای مورد توجه ایجاد کنید توی این جدول یک ستون به عنوان فاکتور مورد نظر و یک ستون هم به عنوان مقدار عددی اون در نظر بگیرید حالا هر بار که کاربری ثبت نام میکنه توی این جدول یک عدد بالاتر از عدد قبلی ثبت کنید. این طور میتونید از اجرای کوئری سراسری رو تیبل های دیگه پرهیز کنید. انتخاب روش به عهده شماست که تشخیص بدید کدوم روش در اون پروژه بهتره.
@mhyeganeh
دستور count راه حله اما
select count(*) from users;
حرکت جالبی نیست ...
select count(id) from users;
برای پرفورمنس بهتر مناسبه ...
@afsharmahmoodian
ممنون از بیان نکتتون. این قضیه در خصوص دستور select کاملا صحیح هست. اما تا جایی که من میدونم در خصوص count چندان صدق نمیکنه و فرق میکنه. البته یک بحث کاملا تخصصی هست و صحبت های زیادی هم روش شده که اگر علاقه داشتید میتونید مطالعه کنید. مثلا اینجا و اینجا.
اما در کل ظاهرا تفاوت چندانی ندارند و به همین خاطر و به دلیل یک سری ریزه کاری ها و نکات حاشیه ای دیگه، بهترین راهکار همون count(*) هست نه count(id) :
@mhyeganeh ممنون