• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
خطای mysqli num rows
#1
سلام 
من کد زیر رو قبلا در لوکال هاست تست میکردم هیچ مشکلی نداشت
کد پی‌اچ‌پی:
<?php
                            if 
(isset($_POST['login'])) {
 
                               $username mysqli_real_escape_string($constrip_tags($_POST["username"]));
 
                               $pass mysqli_real_escape_string($con strip_tags($_POST["pass"]));
 
                               $select_use "SELECT * from users where username = '$username' and password = '$pass'";
 
                               $run_use mysqli_query($con"SET NAMES utf8");
 
                               $run_use mysqli_query($con"SET CHARACTER SET utf8");
 
                               $run_use mysqli_query($con$select_use);
 
                               $check_user mysqli_num_rows($run_use);
 
                               // if ($check_user === false) die(mysql_error());
 
                               if ($check_user == 1) {
 
                                   $user_info = @mysqli_fetch_array($run_use);
 
                                   $_SESSION["user_type"] = $user_info['user_type'];
 
                                   $_SESSION["user_email"] = $user_info['email'];
 
                                   $_SESSION["user_id"] = $user_info['id'];
 
                                   $_SESSION["user_names"] = $user_info['fl_name'];
 
                                   $_SESSION["user_phone"] = $user_info['phone'];
 
                                   $_SESSION["user_image"] = $user_info['image_add'];
 
                                   echo "<script>alert('خوش آمدید')</script>";
 
                                   echo "<script>window.open('my-account.php','_self')</script>";
 
                               }
 
                               else {
 
                                   $select_use "SELECT * from teachers where username = '$username' and password = '$pass'";
 
                                   $run_use mysqli_query($con"SET NAMES utf8");
 
                                   $run_use mysqli_query($con"SET CHARACTER SET utf8");
 
                                   $run_use mysqli_query($con$select_use);
 
                                   $check_user mysqli_num_rows($run_use);
 
                                   // if ($check_user === false) die(mysql_error());
 
                                   if ($check_user == 1){
 
                                       $user_info = @mysqli_fetch_array($run_use);
 
                                       $_SESSION["user_type"] = $user_info['user_type'];
 
                                       $_SESSION["user_email"] = $user_info['email'];
 
                                       $_SESSION["user_id"] = $user_info['id'];
 
                                       $_SESSION["user_names"] = $user_info['real_name'];
 
                                       $_SESSION["user_phone"] = $user_info['phone'];
 
                                       $_SESSION["user_image"] = $user_info['image_add'];
 
                                       echo "<script>alert('خوش آمدید')</script>";
 
                                       echo "<script>window.open('teacher.php','_self')</script>";
 
                                   }
 
                                   else{
 
                                       echo "<script>alert('کاربری با این مشخصات یافت نشد')</script>";
 
                                       echo "<script>window.open('login.php','_self')</script>";
 
                                   }
 
                               }
 
                           }
 
                           ?>
اما وقتی سایت رو به هاست انتقال دادم خطای زیر رو میده
Warning: mysql_num_rows() expects parameter 1 to be resource, Boolean given in 
  پاسخ
تشکر شده توسط :
#2
(۱۳۹۸ فروردین ۱۸, ۰۱:۵۰ ق.ظ)asrema نوشته: سلام 
من کد زیر رو قبلا در لوکال هاست تست میکردم هیچ مشکلی نداشت
کد پی‌اچ‌پی:
<?php
                            if 
(isset($_POST['login'])) {
 
                               $username mysqli_real_escape_string($constrip_tags($_POST["username"]));
 
                               $pass mysqli_real_escape_string($con strip_tags($_POST["pass"]));
 
                               $select_use "SELECT * from users where username = '$username' and password = '$pass'";
 
                               $run_use mysqli_query($con"SET NAMES utf8");
 
                               $run_use mysqli_query($con"SET CHARACTER SET utf8");
 
                               $run_use mysqli_query($con$select_use);
 
                               $check_user mysqli_num_rows($run_use);
 
                               // if ($check_user === false) die(mysql_error());
 
                               if ($check_user == 1) {
 
                                   $user_info = @mysqli_fetch_array($run_use);
 
                                   $_SESSION["user_type"] = $user_info['user_type'];
 
                                   $_SESSION["user_email"] = $user_info['email'];
 
                                   $_SESSION["user_id"] = $user_info['id'];
 
                                   $_SESSION["user_names"] = $user_info['fl_name'];
 
                                   $_SESSION["user_phone"] = $user_info['phone'];
 
                                   $_SESSION["user_image"] = $user_info['image_add'];
 
                                   echo "<script>alert('خوش آمدید')</script>";
 
                                   echo "<script>window.open('my-account.php','_self')</script>";
 
                               }
 
                               else {
 
                                   $select_use "SELECT * from teachers where username = '$username' and password = '$pass'";
 
                                   $run_use mysqli_query($con"SET NAMES utf8");
 
                                   $run_use mysqli_query($con"SET CHARACTER SET utf8");
 
                                   $run_use mysqli_query($con$select_use);
 
                                   $check_user mysqli_num_rows($run_use);
 
                                   // if ($check_user === false) die(mysql_error());
 
                                   if ($check_user == 1){
 
                                       $user_info = @mysqli_fetch_array($run_use);
 
                                       $_SESSION["user_type"] = $user_info['user_type'];
 
                                       $_SESSION["user_email"] = $user_info['email'];
 
                                       $_SESSION["user_id"] = $user_info['id'];
 
                                       $_SESSION["user_names"] = $user_info['real_name'];
 
                                       $_SESSION["user_phone"] = $user_info['phone'];
 
                                       $_SESSION["user_image"] = $user_info['image_add'];
 
                                       echo "<script>alert('خوش آمدید')</script>";
 
                                       echo "<script>window.open('teacher.php','_self')</script>";
 
                                   }
 
                                   else{
 
                                       echo "<script>alert('کاربری با این مشخصات یافت نشد')</script>";
 
                                       echo "<script>window.open('login.php','_self')</script>";
 
                                   }
 
                               }
 
                           }
 
                           ?>
اما وقتی سایت رو به هاست انتقال دادم خطای زیر رو میده
Warning: mysql_num_rows() expects parameter 1 to be resource, Boolean given in 

سلام
اول اطلاعات اتصالات دیتابیست رو چک کن

دوم چک کن ببین کوئریت اجرا میشه و اطلاعات صحیح دریافت میشن ؟
کد پی‌اچ‌پی:
if($select_use === false) {
 
   var_dump(mysqli_error());
}
else {
 
   print_r(mysqli_num_rows($select_use));

  پاسخ
تشکر شده توسط : asrema
#3
(۱۳۹۸ فروردین ۱۸, ۰۲:۳۳ ق.ظ)kasbookar نوشته:
(۱۳۹۸ فروردین ۱۸, ۰۱:۵۰ ق.ظ)asrema نوشته: سلام 
من کد زیر رو قبلا در لوکال هاست تست میکردم هیچ مشکلی نداشت
کد پی‌اچ‌پی:
<?php
                            if 
(isset($_POST['login'])) {
 
                               $username mysqli_real_escape_string($constrip_tags($_POST["username"]));
 
                               $pass mysqli_real_escape_string($con strip_tags($_POST["pass"]));
 
                               $select_use "SELECT * from users where username = '$username' and password = '$pass'";
 
                               $run_use mysqli_query($con"SET NAMES utf8");
 
                               $run_use mysqli_query($con"SET CHARACTER SET utf8");
 
                               $run_use mysqli_query($con$select_use);
 
                               $check_user mysqli_num_rows($run_use);
 
                               // if ($check_user === false) die(mysql_error());
 
                               if ($check_user == 1) {
 
                                   $user_info = @mysqli_fetch_array($run_use);
 
                                   $_SESSION["user_type"] = $user_info['user_type'];
 
                                   $_SESSION["user_email"] = $user_info['email'];
 
                                   $_SESSION["user_id"] = $user_info['id'];
 
                                   $_SESSION["user_names"] = $user_info['fl_name'];
 
                                   $_SESSION["user_phone"] = $user_info['phone'];
 
                                   $_SESSION["user_image"] = $user_info['image_add'];
 
                                   echo "<script>alert('خوش آمدید')</script>";
 
                                   echo "<script>window.open('my-account.php','_self')</script>";
 
                               }
 
                               else {
 
                                   $select_use "SELECT * from teachers where username = '$username' and password = '$pass'";
 
                                   $run_use mysqli_query($con"SET NAMES utf8");
 
                                   $run_use mysqli_query($con"SET CHARACTER SET utf8");
 
                                   $run_use mysqli_query($con$select_use);
 
                                   $check_user mysqli_num_rows($run_use);
 
                                   // if ($check_user === false) die(mysql_error());
 
                                   if ($check_user == 1){
 
                                       $user_info = @mysqli_fetch_array($run_use);
 
                                       $_SESSION["user_type"] = $user_info['user_type'];
 
                                       $_SESSION["user_email"] = $user_info['email'];
 
                                       $_SESSION["user_id"] = $user_info['id'];
 
                                       $_SESSION["user_names"] = $user_info['real_name'];
 
                                       $_SESSION["user_phone"] = $user_info['phone'];
 
                                       $_SESSION["user_image"] = $user_info['image_add'];
 
                                       echo "<script>alert('خوش آمدید')</script>";
 
                                       echo "<script>window.open('teacher.php','_self')</script>";
 
                                   }
 
                                   else{
 
                                       echo "<script>alert('کاربری با این مشخصات یافت نشد')</script>";
 
                                       echo "<script>window.open('login.php','_self')</script>";
 
                                   }
 
                               }
 
                           }
 
                           ?>
اما وقتی سایت رو به هاست انتقال دادم خطای زیر رو میده
Warning: mysql_num_rows() expects parameter 1 to be resource, Boolean given in 

سلام
اول اطلاعات اتصالات دیتابیست رو چک کن

دوم چک کن ببین کوئریت اجرا میشه و اطلاعات صحیح دریافت میشن ؟
کد پی‌اچ‌پی:
if($select_use === false) {
 
   var_dump(mysqli_error());
}
else {
 
   print_r(mysqli_num_rows($amn));

تشکر بابت پاسختون
اتصال به دیتابیس چک کردم ولی خب چیز مشکوکی پیدا نکردم برای اطمینان یک if نوشتم که اگه وصل شد پیغام موفقیت آمیز بودن رو بده که نشون میداد به دیتابیس متصل میشه
فقط قسمت دوم رو متوجه نشدم  من شرط var dump رو برای selesct_use بذارم یا برای run_use?
چون run_use کوئری رو میفرسته
یک چیز دیگه اون amn چیه؟
  پاسخ
تشکر شده توسط :
#4
دوستان خواهش میکنم اگه راهکاری دارین کمک کنید کل برنامه ام لنگ همین موضوع مونده  Huh Huh
به دیتابیس وصل میشه اما نه رکوردی ثبت میکنه نه رکوردی واکشی میکنه
نتیجه query هارو var_damp میکنم false میشه
  پاسخ
تشکر شده توسط :
#5
کد زیر رو جایگزین run_use = mysqli_query($con, $select_use) کن:
کد پی‌اچ‌پی:
$run_use mysqli_query($con$select_use) or exit(mysql_error()); 

ببین خروجیش چیه
وبلاگ: Yousha.Blog.ir

صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
http://gulfnews.com/opinion/thinkers/ira...i-1.500997
  پاسخ
تشکر شده توسط : asrema ayoubsys
#6
(۱۳۹۸ فروردین ۱۸, ۰۱:۵۰ ب.ظ)Y.P.Y نوشته: کد زیر رو جایگزین run_use = mysqli_query($con, $select_use) کن:
کد پی‌اچ‌پی:
$run_use mysqli_query($con$select_use) or exit(mysql_error()); 

ببین خروجیش چیه

هیچی چاپ نمیکنه تو خروجی
  پاسخ
تشکر شده توسط :
#7
اشتباه شد، بجای mysql_error بزن mysqli_error

اگر خروجی نداد، این رو جایگزنی کد num row کن:

$check_user = mysqli_num_rows($run_use) or exit(mysqli_error());
وبلاگ: Yousha.Blog.ir

صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
http://gulfnews.com/opinion/thinkers/ira...i-1.500997
  پاسخ
تشکر شده توسط : asrema kasbookar ayoubsys
#8
دوستان مشکل حل شد خیلیییییییی لطف کردین مشکل رو اینجا مینویسم شاید به بقیه هم کمک کنه
دوستان کاربری که برای استفاده از دیتابیس تعریف کرده بودم به صورت پیش فرض به هیچ کدام از دستورهای insert و update و.... دسترسی نداشت
که از قسمت کنتر پنل cpanel باید سطح دسترسی رو تغییر داد
  پاسخ
تشکر شده توسط :
#9
پیام خطا دریافت کردی؟ چی بود پیام
وبلاگ: Yousha.Blog.ir

صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
http://gulfnews.com/opinion/thinkers/ira...i-1.500997
  پاسخ
تشکر شده توسط : ayoubsys asrema
#10
(۱۳۹۸ فروردین ۱۸, ۰۶:۱۸ ب.ظ)Y.P.Y نوشته: پیام خطا دریافت کردی؟ چی بود پیام

کد:
'INSERT command denied to user 'asrema' for table 'tablename
  پاسخ
تشکر شده توسط : Y.P.Y


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان