یکشنبه ۱۵ مهر ۱۴۰۳

Sunday, October 6, 2024 GMT +3:30

تعریف و استفاده از متغیر (Variable) در PHP

php-variables

در بحث قبل از بخش آموزش مقدماتی PHP با کلیاتی از این زبان برنامه نویسی وب آشنا شدیم، گفتیم که PHP زبان سمت سرور (Server-side) است و پردازش آن توسط مفسر (Processor) سرور انجام و خروجی آن در نهایت به صورت کدهای HTML از سمت سرور به مرورگر (یا هر واسط کاربری دیگر) ارسال می شود، اکنون در ادامه آموزش های مقدماتی این بخش، می خواهیم با یکی از پرکاربردترین و متداول ترین مفاهیم در بین زبان های برنامه نویسی مختلف و به طور خاص برنامه نویسی PHP یعنی مفهوم متغیر (Variable) آشنا شویم که در نوشتن برنامه های کاربردی نقش کلیدی داشته و به دفعات مختلف در سورس کدهایمان تعریف و استفاده می شود، درک مبحث متغیر به عنوان مبحث پایه و مقدمه آشنایی با مباحث پیشرفته تر و پیچیده تر برنامه نویسی با PHP از اهمیت زیادی برخوردار است و توصیه می شود حتما پس از مطالعه و تمرین کافی به مباحث بعدی رجوع کنیم.

مفهوم عبارت متغیر در برنامه نویسی


متغیر (Variable) در برنامه نویسی به معنی نماد و نشانه ای است که در حین اجرای برنامه ها همواره می تواند مقادیر غیرثابت و تغییرپذیری داشته باشد، به طور مثال اگر برنامه ای بنویسیم که نمرات دانش آموزان را به عنوان ورودی دریافت و میانگین آنها را در خروجی چاپ کند، این ورودی و خروجی معمولا به صورت متغیر تعریف می شوند چرا که مقادیر دریافتی و مقدار نهایی ثابت نیست و از دانش آموزی به دانش آموز دیگر متفاوت خواهد بود، اگرچه زبان های برنامه نویسی مختلف از شیوه نگارش (Syntax) خاص خود برای تعریف متغیر استفاده می کنند، اما مفهوم و قاعده کلی بین آنها معمولا به همین صورت است که در بالا گفته شد.

آشنایی با کاربرد متغیر در PHP


متغیرها در PHP برای نگهداری مقادیر با انواع مختلف (رشته ای (String)، عددی (Int)، آرایه (Array)، بولین (Boolean) و...) به کار می روند، در واقع می توان گفت که متغیرها ظرف (Container) نگهداری اطلاعات مختلف یک برنامه تحت وب هستند که هر کجا نیاز باشد می توانیم به آنها دسترسی داشته و حتی محتوای آنها را تغییر دهیم، برای آشنایی با کاربرد متغیر در PHP یک مثال را با هم مرور می کنیم، در نمونه کد زیر تعداد کالاهای تولید شده توسط یک کارگاه فرضی در طی سه سال در متغیرهای مختلف قرار داده شده است، می خواهیم در خروجی میانگین تولیدات این کارگاه در طی سه سال را محاسبه کنیم:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | آشنایی با متغیر در PHP</title>
<!-- Webgoo.ir -->
<style type="text/css">
body {
    font-family: Tahoma, Geneva, sans-serif;
    direction: rtl;
    font-size: 12px;
}
</style>
</head>
<body>
<?php
//تعداد تولیدات در طی سه سال به تفکیک سال
$factory_year_1 = 160;
$factory_year_2 = 185;
$factory_year_3 = 195;

//مجموع تولیدات
$factory_all = $factory_year_1 + $factory_year_2 + $factory_year_3;

//میانگین سه ساله
$factory_average = $factory_all / 3;
echo 'میانگین تولیدات در طی سه سال: ' . $factory_average;
?>
<hr>
متغیر در PHP با علامت $ در ابتدا شروع می شود، متغیر می تواند مقادیر عددی، رشته ای و... داشته باشد.<br>
زبان PHP را در اصطلاح HTML-embedded گویند، یعنی دستورات PHP را می توان در بین تگ های HTML نوشت و خروجی گرفت.
</body>
</html>
پیش نمایش
تحلیل کد بالا چندان سخت نیست، ابتدا سه متغیر با نام های دلخواه factory_year_1، factory_year_2، factory_year_3 با مقادیر عددی تعریف کرده ایم که تعداد تولیدات یک کارگاه فرضی را در خود نگهداری می کنند:
$factory_year_1 = 160;
$factory_year_2 = 185;
$factory_year_3 = 195;
در گام بعد مجموع تولیدات کارگاه را در متغیری با نام factory_all محاسبه کرده ایم:
$factory_all = $factory_year_1 + $factory_year_2 + $factory_year_3;
در نهایت در متغیر factory_average میانگین سه ساله را محاسبه و با دستور echo از آن خروجی گرفته ایم:
$factory_average = $factory_all / 3;
echo 'میانگین تولیدات در طی سه سال: ' . $factory_average;
نکته 1: در خصوص علامت های محاسباتی (جمع، تفریق، ضرب، تقسیم و...) PHP در آموزش های بعدی به صورت جداگانه صحبت خواهیم کرد.
نکته 2: مانند اغلب زبان های برنامه نویسی اگر مقادیر متغیر بین علامت های '' (single quotation) یا "" (double quotation) قرار گیرد، نوع متغیر رشته متنی (String) خواهد بود، به همین ترتیب اگر مقدار متغیر یک عدد باشد نوع آن عددی (Int) تفسیر می شود.
نکته 3: در PHP چند دستور مختلف برای گرفتن خروجی وجود دارد، از جمله print، print_r و echo، در حالت معمول استفاده از echo توصیه می شود (echo از print سریعتر و انعطاف پذیرتر است و چند پارامتر مختلف را می توان با آن به خروجی ارسال کرد، اما print تنها یک پارامتر می پذیرد و در صورت اجرای صحیح، مقادیر 1 را به عنوان نتیجه برمی گرداند).

شیوه های نگارش (Syntax) و استفاده از متغیر در PHP


تعریف و استفاده از متغیرها در PHP مانند هر زبان برنامه نویسی دیگر دارای اصول و شیوه نگارش (Syntax) خاص خود است که در زیر به اختصار آنها را مرور می کنیم:
- متغیر در PHP با علامت $ (dollar) در ابتدا و سپس نام متغیر تعریف و مقدار آن با علامت = اختصاص داده می شود.
- PHP به بزرگ یا کوچک بودن حروف متغیرها حساس است (case-sensitive).
- نام متغیرها در PHP می تواند شامل حروف انگلیسی (a-z A-Z)، اعداد (9-0) و علامت _ (underscore) باشد.
- شروع نام متغیر در PHP نباید با اعداد باشد، به طور مثال این شیوه نامگذاری صحیح نیست:
$1_test = 1;
چند مثال از نحوه صحیح تعریف و استفاده از متغیر در PHP:
$my_var = 'learning PHP is easy!';

$count = 200;

$count_1 = 200;
$count_2 = 300;
$result = $count_1 + $count_2;

$var = 1;
$VAR = 2;

$_php_step = 'PHP Step: ' . 2;
- کدنویسی در زبان PHP معمولا سختگیری های زبان هایی مانند C، C++، Java و... را ندارد، در این زبان ها هنگام تعریف متغیر باید نوع آن را نیز مشخص کنیم (به فرض رشته، عدد، آرایه و...)، اما در PHP این کار به صورت خودکار انجام می شود، در مثال زیر کد اول مربوط به تعریف و استفاده از متغیر در زبان Java و کد دوم مربوط به تعریف و استفاده از همان متغیر در زبان PHP است:
int number;
number = 5;
number = number + 10;
System.out.println(number);

$number = 5;
$number = $number + 10;
echo $number;
- در صورتی که متغیر PHP در علامت های '' (single quotation marks) قرار داده شود، اثر خود را از دست می دهد و مانند یک عبارت متنی در خروجی چاپ خواهد شد، مثال:
<?php
/*
خروجی برابر با:
My Country is $country
*/

$country = 'Iran';
$str = 'My Country is $country';
echo $str;
?>
- برای چاپ مقادیر متغیر در خروجی یا باید آن را در بین علامت های "" (double quotation marks) قرار دهیم یا اینکه با علامت . (نقطه) مقادیر رشته ای داخل '' (single quotation marks) را با متغیر ترکیب نمائیم، مثال:
<?php
/*
خروجی برابر با:
My Country is Iran
*/

$country = 'Iran';
$str = "My Country is $country";
echo $str;
?>

<?php
/*
خروجی برابر با:
My Country is Iran
*/

$country = 'Iran';
$str = 'My Country is ' . $country;
echo $str;
?>

متغیرهای از پیش تعریف شده (Predefined Variables) در PHP


در هنگام تعریف و استفاده از متغیرها در PHP باید دقت داشته باشیم برخی عبارات و نام ها از قبل توسط مفسر PHP رزرو شده اند (Reserved Predefined Variables) و دارای مفهوم و کارکرد خاصی هستند، به طور مثال متغیرهایی که به آنها در اصطلاح Superglobals گفته می شود و در همه قسمت های برنامه در دسترس هستند:
$GLOBALS
$_SERVER
$_GET
$_POST
$_FILES
$_COOKIE
$_SESSION
$_REQUEST
$_ENV
برای مشاهده جزئیات بیشتر در این خصوص می توانیم به راهنمای سایت php.net در آدرس زیر مراجعه کنیم:
http://php.net/manual/en/reserved.variables.php

حدود دسترسی (Scope) متغیرها در PHP


در زبان های برنامه نویسی جهت کنترل دقیق بر روی عناصر مختلف یک برنامه مبحثی تحت عنوان حدود دسترسی یا Scope وجود دارد که به طور خلاصه مشخص کننده این است که یک متغیر، آبجکت و... در کدام قسمت از برنامه در دسترس و قابل استفاده باشد، به طور مثال متغیرها در PHP در حالت عادی به صورت Global تعریف می شوند و در همه قسمت ها در دسترس هستند، البته برای این گفته مثال های نقض وجود دارد، از جمله اینکه متغیر تعریف شده در خارج از یک تابع، درون تابع به صورت معمول قابل استفاده نیست:
<?php
$a = 10;
function myFunc(){
    $b = $a * 2;
    
    return $b;
}
echo myFunc();
?>
در صورت اجرای کد بالا با خطای زیر مواجه خواهیم شد:
Notice: Undefined variable: a
اما اگر نیاز به دسترسی به متغیر خارج از تابع باشد، PHP برای این شیوه دسترسی به متغیرها راهکارهایی در نظر گرفته است، از جمله استفاده از عبارت global در ابتدای نام متغیر:
<?php
$a = 10;
function myFunc(){
    global $a;
    $b = $a * 2;
    
    return $b;
}
echo myFunc();
?>
خروجی کد بالا عدد 20 خواهد بود.
مبحث Scope در PHP جزئیات بیشتری از آنچه گفته شد دارد که در حال حاضر به جهت جلوگیری از پیچیده شدن آموزش ها به همین حد اکتفا می کنیم، در خلال مباحث بعدی به صورت موردی به این موضوع خواهیم پرداخت، جهت آشنایی بیشتر مراجعه به آدرس زیر مفید خواهد بود:
http://php.net/manual/en/language.variables.scope.php

مثال و پیش نمایش آنلاین


برای جمع بندی مطالب این قسمت از آموزش ها، یک مثال کاربردی از مبحث متغیرها در PHP را به همراه پیش نمایش آنلاین آن مرور می کنیم:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | شیوه های تعریف و استفاده از متغیر در PHP</title>
<!-- Webgoo.ir -->
<style type="text/css">
body {
    font-family: Tahoma, Geneva, sans-serif;
    direction: rtl;
    font-size: 12px;
}
.ltr {
    display: inline-block;
    direction: ltr;
}
</style>
</head>
<body>
<?php
$_1 = 1;
echo 'چاپ متغیر:[<div class="ltr">$_1</div>]<br>' . $_1;
echo '<hr>';

$name = 'user';
echo 'چاپ متغیر:[<div class="ltr">$name</div>]<br>' . $name;
echo '<hr>';

$section = 'آموزش مقدماتی';
$category = 'PHP';
$lesson = 2;
echo 'چاپ متغیر:[<div class="ltr">$section . \' \' . $category . \' درس \' . $lesson</div>]<br>' . $section . ' ' . $category . ' درس ' . $lesson;
echo '<hr>';

function testScope(){
    $result = null;
    
    if(defined(@$name)){
        $result = 'متغیر <div class="ltr">$name</div> در دسترس است!';
    } else{
        $result = 'متغیر <div class="ltr">$name</div> در دسترس نیست!';
    }
    
    $result .= '<br>';
    $result .= 'نکته: زمانی که در قسمت echo از علامت single quotation marks استفاده می کنیم، برای درج single quotation های دیگر در این قسمت باید با بک اسلش اثر آنها را خنثی کنیم، در غیر اینصورت خطای Syntax خواهیم داشت، در قسمت خروجی این مثال از این شیوه استفاده شده است.';
    $result .= '<hr>';
    
    return $result;
}
echo 'حد دسترسی به متغیر یا Scope:<br>';
echo testScope();

echo 'حساس بودن PHP به بزرگ یا کوچک بودن حروف متغیر:<br>';
$case = 'case';
$Case = 'Case';
echo $case . ' != ' . $Case;
echo '<hr>';

echo 'سورس کدهای این مثال را در برنامه های ویرایشگر PHP مانند برنامه PhpStorm وارد کنید تا به صورت دقیقتری با جزئیات و Syntax ها آشنا شوید.';
?>
</body>
</html>
پیش نمایش آنلاین
نکته: علامت @ (at sign) برای کنترل (Suppress) عدم نمایش خطاهای Notice در خروجی استفاده می شود، به فرض اگر متغیری در کدها به نحوی تعریف یا مقداردهی شده باشد که امکان دارد در هنگام اجرای برنامه آن متغیر یا مقدار فراهم نشود می توانیم برای عدم نمایش خطای Notice توسط مفسر PHP از علامت @ در جایی که پارامتر به کار می رود استفاده کنیم، در مثال بالا برای متغیر name در تابع testScope از این کاراکتر استفاده کرده ایم.
دسته بندی: آموزش مقدماتی » PHP
related مطالب بیشتر:
دستور switch و case در PHP
آموزش برنامه نویسی وب با PHP
توابع (Functions) در PHP
توابع کار با آرایه در PHP - بخش سوم
عملگرها (Operators) در PHP
دیدگاه
more ۲۵ دیدگاه برای این مطلب ارسال شده است.
more دیدگاه جدید بر اساس تاریخ ارسال در انتهای دیدگاه های موجود نمایش داده می شود.
حبیب
۰۲:۲۲ ۱۳۹۲/۰۱/۰۸
سلام
چرا به جای ارزش واقعی name$ (مقدار دهی شده) همون name$ رو چاپ میکنه ممنون اگه کمکم کنین
echo ('<font font size ="14" color ="red" >$name</font>');
برای چاپ مقدار متغیر یا باید خروجی را بین علامت های "" قرار دهید یا اینکه مطابق نمونه زیر کد را ویرایش کنید:
echo ('<font font size ="14" color ="red" >'.$name.'</font>');
۲۲:۴۰ ۱۳۹۲/۰۴/۲۰
قشنگه
MASOUD
۱۴:۱۱ ۱۳۹۲/۰۶/۱۲
عالی بود. ببخشید در زبان PHP میشه یا لازم هست از دستور goto استفاده کرد؟
استفاده از goto در PHP از نسخه 5.3.0 به بعد امکانپذیر شده، اما همچنان بین توسعه دهنده گان وب کاربرد چندانی ندارد، اگر برنامه خوبی بنویسید که نظم در آن رعایت شده باشد یا به فرض به صورت شی گراء باشد، نیازی به استفاده از این امکان نیست، goto صرفا در موارد خاصی کاربرد دارد (به فرض ایجاد پرش از قسمتی از کد به قسمت دیگر، شکستن سیکل حلقه های تو در تو و...) که این موارد از طریق روش های عادی نیز امکانپذیر است.
علی
۰۳:۲۰ ۱۳۹۲/۰۹/۱۱
سایتتون خیلی خوبه
از خداوند متعال آرزوی سربلندی و سرافرازی برای شما عزیزان دارم
علی
۲۱:۴۱ ۱۳۹۲/۱۱/۰۴
با عرض سلام و خسته نباشید خدمت شما.
اگر ممکنه در مورد جای گذاری یک تابع بین قطعه کد اچ تی ام ال که قراره خودشون داخل یک متغیر قرار بگیرن توضیح بدید. (راهنماییم کنید). روش های مختلفی رو به صورت تجربی امتحان کردم و جواب نداد. در مورد کد زیر راهنمایی میخوام.
$this->head_msg = '<div class="tt-notice" style="width: 800px; margin: 15px 0;"><?php __('buy this theme','them')?></div>';
کد بالا رو میخوام در یک قالب وردپرس استفاده کنم و اون تابع ترجمه باید مقدار ترجمه شده رو بین دو تا تگ div قرار میده و در نهایت با هم میشن مقدار اون متغییر که البته نمی دونم چجوری باید بنویسمش که درست کار کنه چون کار نمیکنه. ببخشید زیاد حرف زدم.
هر چند دقیقا متوجه منظورتان نشدیم و با توجه به مرتبط بودن سوال به وردپرس، باید در انجمن های مربوطه سوال می کردید، اما برای قرار دادن تابع در بین خروجی HTML این کد، روش ساده زیر به کار می آید:
$this->head_msg = '<div class="tt-notice" style="width: 800px; margin: 15px 0;">'.yourFunction().'</div>';
همچنین به روش زیر می توانید خروجی را از فیلتر یک تابع عبور دهید:
$this->head_msg = yourFunction('<div class="tt-notice" style="width: 800px; margin: 15px 0;"></div>');
علی
۲۳:۵۱ ۱۳۹۲/۱۱/۰۵
سلام دوباره. خیلی ممنون بابت پاسختون.
میشه گفت منظورم همین بود ولی من این راه رو امتحان کرده بودم ولی بازم جواب نمیداد. من تغییرات زیادی داخل کد دادم که بفهمم مشکل از کجاست ولی یا کار نمیکرد و یا ارور میداد. کاربرد اون متغییر اینه که یه مقداری رو داخل پنل ادمین سایت نمایش میده و اون تابع هم که بین دو تگ اچ تی ام ال وجود داره کار ترجمه رو انجام میده ولی نمیدونم چرا کار نمیده. روش دوم شاید بشه ولی اصلا جالب نیست چون چندیدن تگ اچ تی ام ال بوده و من برای اینکه منظورم رو سریع برسونم اونا رو حذف کردم. البته میدونم مربوط به وردپرسه و اینجا آموزش وردپرس نیست ولی اگر ممکنه راهنماییم کنید.
ممنون و موفق باشید.
حل این مشکل بدون تست آنلاین امکانپذیر نیست، هر چند به نظر با یک تابع str_replace مشکلتان حل می شود.
علی
۱۸:۳۵ ۱۳۹۲/۱۱/۰۷
سلام. فکر کنم چون اون بحث زیاد کش دادم جواب ندادید ولی یه چیزی هست که باید بگم. من دقیقا همون مقداری رو که اول به اون متغییر نسبت میدادیم رو برداشتم و اگه یادتون باشه گفتم این متغییر داخل یک صفحه پی اچ پی دیگه توسط یک تابع echo نمایش داده میشه. من اون متغییر اولی رو حذف کردم و به جاش داخل کد دوم متغییری ساختم و اون مقدار رو داخلش ریختم و خلاصه اینجوری جواب داد. ولی اگر میشه راهنمایی کنید چرا اونجوری کار نمیداد و در اصل کار میداد ولی درست کار نمیداد مشکلم با اون تابع ترجمه بود.
دوست گرامی، صرف توضیحات کمکی به حل این نوع مشکلات نمی کند، قاعدتا باید امکان تست کدها برایمان فراهم باشد تا بتوانیم دقیق متوجه منظورتان شویم، با توجه به حجم بالای پیام های کاربران امکان تمرکز بر روی نظرات بیش از حد معمول وجود ندارد.
محمودرضا
۰۹:۴۹ ۱۳۹۲/۱۱/۲۸
چگونه می توانم در یک وب سایت لوکال تاریخ و ساعت را مانند آنچه در هدر سایت شما قرار دارد قرار دهم ؟ البته من کد php تاریخ شمسی را دارم
لطفا در قسمت جستجوی سایت عبارت "تاریخ" را جستجو کنید، در آموزشی جداگانه در این خصوص بحث شده.
hadi0098
۱۶:۲۸ ۱۳۹۳/۰۶/۳۱
سلام یه سوال داشتم
میخواستم بدونم تفاوت های
include
require
include_once
require_once
چیه؟؟؟
تمام موارد بالا برای وارد کردن فایلی دیگر در یک فایل PHP است، اما فرق آنها این است که با require اگر فایل مورد نظر در دسترس نباشد یا به فرض نام آن اشتباه باشد و... مفسر PHP از پردازش ادامه کدها خودداری می کند (require = حالت ضروری) اما برای include مفسر PHP ادامه کدها را پردازش می کند، پسوند once هم یعنی اگر قبلا فایل مورد نظر وارد شده باشد، دستورات مشابه بعدی نادیده گرفته می شوند (به فرض در یک حلقه اگر دستور include_once تکرار شود، تنها یک بار فایل وارد می شود).
علی
۲۳:۴۹ ۱۳۹۴/۰۲/۲۱
با سلام
ببخشید در همه ی مثال هاتون در قسمت استایل از یک فونت به اسم "ج ن وا" استفاده کرده اید. این فونت را من در ویندوز ندیدم!
Geneva جزء فونت های پیش فرض سیستم عامل مکینتاش (اپل) است، انتخاب فونت های جایگزین (به جزء فونت اول که اهمیت بیشتری دارد) سلیقه ای و بسته به نیاز است.
۲۲:۰۷ ۱۳۹۴/۰۶/۰۵
سلام دوست عزیز سوالی داشتم
در بعضی از کدهای پی اچ پی دیدم که ادرس دهیش مثلا اینجوریه
<script type="text/javascript" src="http://sait.ir/99999/999.php?url=88888.ir&sh2=1&sh2=1&sh3=1"></script>
به اینصورت هست که با اضافه کردن متغیرهایی که میبینید که در کد بصورت sh1 و sh2 تعیین شده میشه نتیجه خروجی فایل پی اچ پی رو تغییراتی داد بنده زیاد وارد نیستم و به اصطلاحات هم اشنایی چندانی ندارم
ممنون میشم با زبانی ساده بهم اموزشش بدید اگه اموزشهاتون هم هزینه داره بفرمایید تا تقدیم کنم عزیز خواهش میکنم این موضوع خیلی برام مهمه مدتهاست دنبال این راه میگردم یدنیا ممنون میشم اگه راهنماییم کنید
ایمیل هم گذاشتم اگه خبرم کنید واقعا ممنون میشم موفق باشید
یادگیری این موارد نیازمند طی کردن آموزش های مقدماتی و آشنایی با مفاهیمی نظیر متد GET و استفاده ترکیبی از PHP و JavaScript است، متاسفانه فرصت کافی برای ارائه آموزش های اختصاصی در اختیار نداریم!
۲۱:۴۸ ۱۳۹۴/۰۶/۱۱
سلام دوست عزیز واقعا ممنون مشکلم حل شد خواستم ازتون کلا بابت سایت مفیدتون تشکر کنم چون واقعا بگم برخلاف خیلیها ادعای الکی نمیکنید و با دانش بالاتون ثابت میکنید مرجع قابل اعتمادی هستید در این زمینه بنده با راهنمایی کوچکی که در جوابیتون بود مشکلم رو حل کردم دعای خیر ما پشت و پناهتون یا حق
مسعود
۲۰:۰۶ ۱۳۹۴/۱۲/۱۲
سلام. اگه میشه شی گرایی در php رو هم به صورت مقدماتی اموزش بدین.
متاسفانه در کوتاه مدت میسر نیست.
۱۸:۳۴ ۱۳۹۵/۱۲/۲۷
ممنون. برای یادگیری php حتما باید html و css را بلد باشیم؟
اجباری نیست اما روش اصولی این است که ابتدا HTML سپس CSS و در نهایت PHP را بیاموزید!
Omid
۲۲:۴۷ ۱۳۹۸/۰۲/۱۷
سلام
من میخوام از متغیرها در دستورهای mysql استفاده کنم مثلا ‌‌:
SELECT name FROM mutable WHERE id=$x
ولی ارور میده و برنامه اجرا نمیشه
کافی است متغیر را بین علامت های '' (single quotations) قرار دهید، مثال:
SELECT name FROM mutable WHERE id = '$x'
نکته: در صورت استفاده مستقیم از متغیر در پرس و جو جهت حفظ امنیت دیتابیس حتما باید از توابع ایمن سازی مانند mysqli_real_escape_string استفاده کنید، البته شیوه توصیه شده ایمن سازی پرس و جوها استفاده از Bind و Prepared Statement است که در آموزش های مقدماتی MySQL به طور مفصل توضیح داده شده است.
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
2 × 5
20 × 20
=
آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
سیدعباسی
با سلام من میخوام از متن زیر لینکش رو دربیارم و در آخر مقدار 3088 رو بصورت خروجی نهایی داشته باشم با...
۱۴۰۳/۰۷/۰۷

مجتبی
سلام وقت بخیر میخوام یک روز به تاریخ دریافتی اضافه شه ممنون میشم راهنمایی کنید
۱۴۰۳/۰۶/۲۰

پرتو
سلام خوبید؟ خسته نباشیذ ببخشید مزاحم شدم می خواستم بگم من به شما ایمیل زدم ولی هنوز شما جواب ندادین می تونم بپرسم چرا سوال...
۱۴۰۳/۰۶/۱۵
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا ۲۴ ساعت زمان ببرد.