نمایش نتایج 1 تا 3 از 3

نام تاپیک: تفاوت این دو دستور

  1. #1

    تفاوت این دو دستور

    سلام
    توی آموزشهای w3schools در خصوص درج اطلاعات در دیتابیس به این صورت نوشته

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }

    $sql = "INSERT INTO MyGuests (firstname, lastname, email)
    VALUES ('John', 'Doe', 'john@example.com')";

    if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
    } else {
    echo "Error: " . $sql . "<br>" . $conn->error;
    }

    $conn->close();
    ?>


    سوالی که دارم در خصوص خط 17 هست که شرط گذاشته و مقایسه کرده که مقدار اجرای کوئری برابر true باشه. در حالت Procedural نیاز به بررسی با مقدار true نبود. میخواستم بدونم دلیل اینکه درحالت شی گرائی همچین مقایسه ای کرده چیه.
    چون بدون بررسی مقدار true یعنی به شکل زیر هم مقادیر به درستی در دیتابیس درج میشن.

    if ($conn->query($sql)){   
    echo "New record created successfully";
    } else {
    echo "Error inserting data : " . $conn->error;
    }


    ممنون میشم اگر در این رابطه راهنماییم کنید.

  2. #2
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: تفاوت این دو دستور

    if ($conn->query($sql))


    این هم داره true بودن رو چک میکنه فرقی نمیکنه با


    if ($conn->query($sql)=== TRUE )


    هردوش یکیه ... وقتی یک عبارت رو توی if بزاری داری برای TRUE و FALSE بودن چکش میکنی ... شما میتونی ==TRUE توی شرط بزاری که یکم واضح تر باشه یا میتونی نزاری ولی عملا هردوش یکیه
    برای فالز هم به همین شکله شما میتوین فالز بودن رو اینجوری بررسی کنی

    if($x === false )


    یا اینجوری

    if(!$x)





    به طور خلاصه وقتی کوئری INSERT بزاری یا TRUE برمیگردونه یعنی موفق بود یا FALSE برمیگردونه که میگه ناموفق بوده حالا شما میتونی به چندین روش مختلف بعدش اینا رو چک کنی

    در در حالت Procedural هم برای true بودن چک کرده ولی از نوع خلاصه شده بدون کلمه true

  3. #3

    نقل قول: تفاوت این دو دستور

    وقتی === در شرط باشه یعنی type casting به صورت اتوماتیک توسط php انجام نمیشه و فقط و فقط در صورتی شرط درست میشه که نتیجه دقیقا مثل اونطرف === باشه
    به زبان ساده
    در این کد :
    if($x)

    $x هرچی بجز 0 و false باشه شرط درسته ، یعنی از 1 بگیر تا هر نوع مقدار دیگه حتی اگر یک String باشه ولی وقتی === استفاده شد فقط وقتی شرط درست تلقی میشه که 2 طرف === دقیقا مثل هم باشند
    یعنی اگر کد به این شکل شد :
    if($x === true)

    در صورتی شرط درست است که مقدار $x دقیقا true باشد.

تاپیک های مشابه

  1. پاسخ: 3
    آخرین پست: دوشنبه 28 مرداد 1392, 07:46 صبح
  2. سوال: اجرا دستورات به صروت پیاپی و ندادن وقفه به دستورات دیگه ؟
    نوشته شده توسط samadblaj در بخش C#‎‎
    پاسخ: 13
    آخرین پست: پنج شنبه 19 بهمن 1391, 23:45 عصر
  3. تفاوت چند دستور
    نوشته شده توسط Navid Asadi در بخش VB.NET
    پاسخ: 7
    آخرین پست: سه شنبه 08 دی 1388, 14:59 عصر
  4. مقاله: مفهوم/تفاوت عبارت و دستور
    نوشته شده توسط Yousha در بخش PHP
    پاسخ: 0
    آخرین پست: یک شنبه 08 شهریور 1388, 12:27 عصر
  5. تفاوت نمای گرید برای دستور Update با دستورات T-SQL
    نوشته شده توسط منصور بزرگمهر در بخش SQL Server
    پاسخ: 1
    آخرین پست: پنج شنبه 11 تیر 1388, 20:04 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •