PDA

View Full Version : مبتدی: سوال راجب نقیض در sql



mohamadshadkam
سه شنبه 29 مرداد 1392, 12:17 عصر
سلام دوستان من یه مشگلی تو درک کد زیر دارم
کد :

<?php
error_reporting(E_ALL &~ E_NOTICE);
$db_host = 'localhost';
$db_uname = 'root';
$db_pass = '';
$db_name = 'test';
if(!mysql_connect($db_host,$db_uname,$db_pass))die (mysql_error());
if(!mysql_select_db($db_name))die(mysql_error());
if(isset($_GET['id'])){
$result=mysql_query("SELECT * FROM `news` WHERE `ID`={$_GET['id']}");
$row=mysql_fetch_array($result);
if(!$row)die('error : '.mysql_error());
echo "<b>{$row['title']}</b><br /><p>{$row['content1']}</p><p><br />{$row['content2']}</p>";
}else
echo 'Please insert id.';

تو خط 7 علامت نقیض استفاده شده مثلا تو کد زیر

if($a != $b )

میگیم اگر a با b مساوی نبود یه کاری انجام شه ولی تو برنامه بالا اونجوری که من برداشت کردم برنامه هم اگر بخواد به دیتابیس کانکت شه ما با اون علامت نقیض از این کار جلوگیری کردیم تو کد زیر :

if(mysql_connect($db_host,$db_uname,$db_pass))die( mysql_error());
اگر برنامه به دیتابیس کانکت شد که هیچی ولی اگر کانکت نشد دستور بعد از die اجرا میشه ولی کد زیر رو من نمیتونم درک کنم که منظور از علامت نقیض چیه :
if(!mysql_connect($db_host,$db_uname,$db_pass))die (mysql_error());

لطفا اگر میشه یه توضیح کوچیکی بدید
پیشاپیش ممنون

mohamadshadkam
چهارشنبه 30 مرداد 1392, 16:59 عصر
یعنی تو این فروم به این بزرگی یه نفر پیدا نمیشه جواب ما رو بده اگر اینجوریه پس تخته کنید بره

afshin9032
جمعه 08 شهریور 1392, 00:35 صبح
در کد
if(!mysql_connect($db_host,$db_uname,$db_pass))die (mysql_error());

ابتدا تابع connect اجرا میشه و این تابه یک مقدار بازگشتی بعد از اجرا دارد و در صورتی که مقدار بازگشتی false باشد با مقدار نقیض ! براربری می کند و در نتیجه تابع die اجرا میشه .