رفتن به مطلب

راهنمایی در مورد یک کد php


پست های پیشنهاد شده

با سلام

من میخوام نام کاربری رو از طریق

$_get

به صفحه دیگه انتقال بدم

بعد یه متغیر تعریف کنم که مقادیر ثبت شده تو دیتابیس رو  بگیره و با مقدار ارسالی مقایسه کنه که اگه مقدار ارسالی تو دیتابیس بود کار انجام بشه اگه نبود خطا بگیره

اما مشکل اینجاست که هنگام مقایسه فقط یک ردیف رو مقایسه میکنه به عنوان مثال فقط نام کاربری Admin رو میگیره و برای بقیه نام های کاربری خطا نشون میده

این برای select کردن 

	public function select($sql){
		
		$stmt=$this->_Connect->prepare($sql);
		
		$stmt->execute();

        $result=$stmt->fetch(PDO::FETCH_ASSOC);
		
		return $result;
		
	}/*select*/

و اینم برای صفحه ای که اطلاعات رو میگیره

if(isset($_GET['username']) && !empty($_GET['username'])){
  $sql= "SELECT * FROM `at_user`";
  $stmt = $gen->select($sql);
  $user = $stmt['username'];
  if($_get['username'] == $user){
	echo "Ok!";
  }else{
	echo "Error!!!";
   }

}else{
	echo "user list";
}

ممنون میشم راهنمایی کنید.

با تشکر

لینک به ارسال

اینجا شما باید 2 مورد رو مد نظر داشته باشین

اول اگه میخواهید یک مقدار رو در دیتابیس جستجو کنید

که برای کار شما گزینه درستی هست میتونین کوئری خودتونو به صورت زیر بنویسین

$sql= "SELECT * FROM `at_user` where username='{$_GET['username']}'";

البته توجه داشته باشین استفاده متغییرهای ورودی مثل $_GET  در کوئری مستقیم استفاده نکنین بلکه به صورت پارامتر ارسال کنید یا مقدار رو sanitize و filter کنید که sql inject جلوگیری بشه

دوم وقتی شما میخواهید یک تعداد رکورد رو با استفاده از pdo دریافت کنید باید از دستور fetchall استفاده کنید که یک ارایه از تمام رکوردهای دیتابیس برمیگردونه که شما با یک حلقه میتونین اونو چک کنین

$result= $stmt->fetchAll(PDO::FETCH_ASSOC);

توضیحات بیشتر

 

http://php.net/manual/en/pdostatement.fetchall.php

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...