PDA

View Full Version : شمردن تعداد رکورد در php



rasoul2023
چهارشنبه 21 آبان 1393, 21:53 عصر
سلام دوستان :
من برنامه نویسی PHP نیستم و بنا به نیازی که پیدا کردم الان مجبورم یک پروژه را تحت PHP کار کنم یه مشکی واسم پیش اومده تو این جریان . من میخواستم از طریق پست استرینگ یک مقدار ( Simsrl ) را بگیرم و چک کنم که این مقدار توی دیتا بیس هست یا نه اگه نیست مقدار سیم سریال و بقیه را وارد کنه !

این کد را من نوشتم اما گویا مشکل داره چون وقتی فراخوانیش میکنم چیزی وارد دیتا بیس نمیشه ! لطفا راهنماییم کنید .



<?php
include 'db.php';
mysql_query("SET CHARACTER SET utf8;");
mysql_query("SET SESSION collation_connection = 'utf8_persian_ci'");
$SimSerial=$_POST['simsrl'];
if(!$userchk=mysql_query("SELECT * FROM user WHERE SimSerial='$SimSerial'"))
{
echo 'empty';
mysql_query("INSERT INTO user(Isban,IsDelete,SimSerial,UserType) VALUES (0,0,$SimSerial,1)");
}
else
{
echo 'ok';
}
?>

ali.webdesign
چهارشنبه 21 آبان 1393, 22:06 عصر
کدتون کامل غلطه

باید از mysql_num_rows استفاده کنید برای شمردن تعداد سطرهای دیتابیس

اگر صفر بود یعنی وجود نداره اگر بیشتر بود یعنی وجود داره

توی این کد باید به این شیوه استفاده کنید



if(mysql_num_rows("SELECT * FROM `user` WHERE `SimSerial`='".$SimSerial."'")==0)
echo 'empty';

rasoul2023
پنج شنبه 22 آبان 1393, 12:47 عصر
سلام :
این ارور را میده :


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\vhosts\*****\httpdocs\***\***\chekuser.php on line 6

rasoul2023
پنج شنبه 22 آبان 1393, 17:19 عصر
ین همه مهندس کسی جوابمونو نمیده ؟

Tarragon
پنج شنبه 22 آبان 1393, 17:53 عصر
if(mysql_num_rows(mysql_query("SELECT * FROM `user` WHERE `SimSerial`='".$SimSerial."'"))==0)
echo 'empty';

rasoul2023
پنج شنبه 22 آبان 1393, 22:43 عصر
ممنون ولی بازم خطای ارگومان داد :


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\vhosts\geo-app.ir\httpdocs\android\Askme\chekuser.php on line 6
empty

id1385
جمعه 23 آبان 1393, 12:25 عصر
خب دوست عزیز به روشهای زیر امتحان کن
برای اینکه کل رکوردهای ذخیره شده رو بدست بیاری

بدون شرط:


SELECT COUNT(*) FROM MyTbl;


با شرط (تک وجهی):


SELECT COUNT(*) FROM MyTbl WHERE id = 1



با شرط (چند وجهی):


SELECT COUNT(*) FROM MyTbl WHERE id = 1 OR name = 'cat'


انتخاب یک فیلد :


SELECT id, COUNT(*) FROM MyTbl WHERE id = 1



انتخاب چند فیلد


SELECT id,name,sex COUNT(*) FROM MyTbl WHERE id = 1 OR name = 'cat'


میتونی از این فانکشن هم استفاده کنی :

function GetRecordNumber($STR_SQL)
{
if (isset($STR_SQL))
{
$recordcount = mysql_query($STR_SQL);
return mysql_num_rows($recordcount);
}
}


اینم استفاده از فانکشن بالا :

$uCount = GetRecordNumber("SELECT * FROM users WHERE `UserName` = '$UserName'");
var_dump($uCount);


موفق باشید