PDA

View Full Version : سوال: چک کردن پر بودن دیتابیس در php



nokhodi
دوشنبه 01 دی 1393, 10:56 صبح
سلام دوستان
چطوری میشه در php فهمید که یک جدول مقداری دارد یا نه؟
( چه مقداری و چقد مهم نیست فقط پر بودن دیتابیس یا خالی بودنش مهمه)


سپاس

hamedarian2009
دوشنبه 01 دی 1393, 11:41 صبح
سلام. یه select به جدول بزنین اگه مقداری برگردوند یعنی داده وجود داره وگرنه خالیه


$query= "SELECT * FROM `table`;";
$result = mysql_query($query);
if(mysql_num_rows($result) > 0){
//meghdar vojod dard
} else {
//meghdar vojod nadarad
}

Mohammadsgh
دوشنبه 01 دی 1393, 12:33 عصر
از تابع mysql_num_rows ساده ترتابع count هست

H:Shojaei
دوشنبه 01 دی 1393, 12:46 عصر
سلام دوستان
چطوری میشه در php فهمید که یک جدول مقداری دارد یا نه؟
( چه مقداری و چقد مهم نیست فقط پر بودن دیتابیس یا خالی بودنش مهمه)


سپاس
با PDO:


$select = $dbh->prepare('select * from tbl');
$select->execute();
$count = $select->rowCount();

H:Shojaei
دوشنبه 01 دی 1393, 12:56 عصر
از تابع mysql_num_rows ساده ترتابع count هست
ظاهرا ساده تر به نظر نمیرسه...
واسه استفاده از count باید اطلاعات رو fetch کنید تا بتونید تعدادش رو بدست بیارید...

hamedarian2009
دوشنبه 01 دی 1393, 13:24 عصر
ظاهرا ساده تر به نظر نمیرسه...
واسه استفاده از count باید اطلاعات رو fetch کنید تا بتونید تعدادش رو بدست بیارید...

بله ساده تر همین روشی که گفتم هست معمولا count کاربردش برای جاهای دیگه هست

nokhodi
دوشنبه 01 دی 1393, 13:50 عصر
از تابع mysql_num_rows ساده ترتابع count هست

ااستفاده تابع کانت بصورت زیر هست ؟


$query= "SELECT * FROM `table`;";$result = mysql_query($query);
if( count($result) > 0){
//meghdar vojod dard
} else {
//meghdar vojod nadarad
}

nokhodi
دوشنبه 01 دی 1393, 13:52 عصر
البته نحوه برنامه نویسی بنده pdo نیست...
اما فک کنم بهترین راه حل همون تابع » mysql_query باشه؟

H:Shojaei
دوشنبه 01 دی 1393, 14:11 عصر
البته نحوه برنامه نویسی بنده pdo نیست...
اما فک کنم بهترین راه حل همون تابع » mysql_query باشه؟
توابع mysql_ در حال منسوخ شدن (در آینده ای نچندان دور) هستن بهتره به pdo یا mysqli_ مهاجرت کنید...
برای استفاده از count هم به این صورت باید عمل کنید:


$query= "SELECT * FROM `table`;";$result = mysql_query($query);
$result=mysql_fetch_array($result)if(count($result ) > 0){ //meghdar vojod dard} else { //meghdar vojod nadarad}

nokhodi
یک شنبه 07 دی 1393, 11:34 صبح
توابع mysql_ در حال منسوخ شدن (در آینده ای نچندان دور) هستن بهتره به pdo یا mysqli_ مهاجرت کنید...
برای استفاده از count هم به این صورت باید عمل کنید:


$query= "SELECT * FROM `table`;";$result = mysql_query($query);
$result=mysql_fetch_array($result)if(count($result ) > 0){ //meghdar vojod dard} else { //meghdar vojod nadarad}


دوست عزیز دستور رو به شکل زیر نوشتم اما داخل شرط که در صورت خالی بودن باید اجرا بشه نمیشه؟!! ( فقط شرط رو تغییر دادم)



$mysql_select_db($database_cn, $cn);
$query= "SELECT * FROM `wst_select_id`;";
$result = mysql_query($query, $cn);
if(count($result) == 0){
}
else
{
}

nokhodi
یک شنبه 07 دی 1393, 13:43 عصر
در متغیر $result این نوشته شده :

Resource id #138

بخاطر همین حتی در صورت خالی بودن جدول باز میگه پره...
یعنی نتیجه ریزالت صفر نمیشه حتی در صورت خالی بودن جدول!!!!

MMSHFE
یک شنبه 07 دی 1393, 14:08 عصر
if(mysql_result(mysql_query('SELECT COUNT(*) AS `total` FROM `table`'), 0, 0) > 0) { /* table is not empty */ }