نقل قول: تفاوت این دو دستور
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
نقل قول: تفاوت این دو دستور
وقتی === در شرط باشه یعنی type casting به صورت اتوماتیک توسط php انجام نمیشه و فقط و فقط در صورتی شرط درست میشه که نتیجه دقیقا مثل اونطرف === باشه
به زبان ساده
در این کد :
if($x)
$x هرچی بجز 0 و false باشه شرط درسته ، یعنی از 1 بگیر تا هر نوع مقدار دیگه حتی اگر یک String باشه ولی وقتی === استفاده شد فقط وقتی شرط درست تلقی میشه که 2 طرف === دقیقا مثل هم باشند
یعنی اگر کد به این شکل شد :
if($x === true)
در صورتی شرط درست است که مقدار $x دقیقا true باشد.