آموزش mysqli prepare برای query ها

    موضوعات: آموزش طراحی سایت وبلاگ 

یکی از مباحثی که در طراحی سایت و  php باید توجه لازم را به آن داشت، بحث روش کد نویسی برای جلوگیری از sql injection می باشد. sql injection یک نوع از حملات است که با تزریق دیتا به داده ها امکان تغییر دیتابیس وجود دارد.در صورتی که شما از mysqli استفاده می کنید یکی از روش های بسیار موثر  mysqli prepare می باشد. در ادامه به توضیح این مورد خواهیم پرداخت. با ایران وبر همراه باشید.

برای شروع بهتر است یک نمونه کد mysqli prepare رو با هم ببینیم:

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

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
die(“Connection failed: ” . $conn->connect_error);
}

$stmt = $conn->prepare(“INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)”);
$stmt->bind_param(“sss”, $firstname, $lastname, $email);

$firstname = “John”;
$lastname = “Doe”;
$email = “john@example.com”;
$stmt->execute();

$firstname = “Mary”;
$lastname = “Moe”;
$email = “mary@example.com”;
$stmt->execute();

$firstname = “Julie”;
$lastname = “Dooley”;
$email = “julie@example.com”;
$stmt->execute();

echo “New records created successfully”;

$stmt->close();
$conn->close();
?>

کد بالا نمونه کدی است که برای یک mysqli prepare استفاده می شود. خب بهتر است جز به جز کد را با هم بررسی کنیم تا بخش های ان را بیشتر درک کنیم:

بخش اول – اتصال mysqli به پایگاه داده

$servername = “localhost”;
$username = “username”;
$password = “password”;
$dbname = “myDB”;

$conn = new mysqli($servername, $username, $password, $dbname);

در کد بالا ابتدا به پایگاه داده متصل می شویم. این کد نیاز به توضیح خاصی ندارد چون در این مقاله به بحث پیشرفته ی mysqli prepare می پردازیم بنابراین شما پایه های mysqli  رو کانکت شدن به دیتابیس را به خوبی می دانید.

بخش دوم – بخش mysqli prepare

$stmt = $conn->prepare(“INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)”);
$stmt->bind_param(“sss”, $firstname, $lastname, $email);

در متن بالا بدنه ی اصلی mysqli prepare را مشاهده می کنید. در این بدنه ابتدا  $conn->prepare نوشته شده که بخش اصلی prepare را می سازد. خب برای درک این عبارت حتما نیاز به تسلط به sqlمی باشد. در عبارت اول ، به جای مقدار دادن به هر یکی از ستون ها ی پایگاه داد علامت سوال قرار داده شده است.

بیشتر بخوانید
طراحی سایت پت شاپ در تهران

در بخش دوم یا بخش bind_param از دو قسم تشکیل شده است، قسمت اول که با sss نشان داده شده و بقیه قسمت ها که ورودی های prepare می باشند.

حال شاید برای شما سوال پیش آمده باشد که sss چیست؟

  • i – integer – عدد صحیح
  • d – double – عدد اعشاری
  • s – string – رشته
  • b – BLOB

خب در حال حاضر شاید سوال کمی برطرف شده باشد و به نتیجه رسیده باشید. این سه sss نشانگر ورودی است و نوع سه ورودی بعدی را مشخص کرده است.

با توجه به دستور عمل بالا سه اس به معنای سه رشته می باشد. این یکی از مزیت هایی است که باعث می شود prepare از حمله sql injection به خوبی محافظت کند.

 

بخش سوم – مقدار دهی و اجرای دستور

$firstname = “John”;
$lastname = “Doe”;
$email = “john@example.com”;
$stmt->execute();

در این بخش سه مقدار موجود در تابع prepare را مقدار دهی می کنیم و سپس با دستور execute() اجرا می کنیم.

 

در این مقاله تلاش شد تا به صورت کامل پایه ی mysqli prepare موارد مختلف توضیح داده شود. اما توجه داشته باشید که باشید که برای تسلط بیشتر نیاز به کار بیشتر دارید و همچنین کد هایی برای update، insert  و همچنین دریافت اطلاعات از prepare می باشد که در مقالات آینده توضیح خواهیم داد.

 

موضوعات مرتبط: , ,
به این مقاله امتیاز دهید!
نظر شما

اشتراک در شبکه های اجتماعی
آخرین مقالات و ویدئو ها
چرا لوگو شیائومی تغییر کرد؟ | حقایق لوگو 300 هزار دلاری شیائومی

شرکتها و برندها بر اساس ایده های بازاریابیِ تیم مارکتینگ خود تصمیم به ریدیزاین لوگو میگیرند. این تغییر یا تغییرات ممکن گاهی چشمگیر و اساسی باشد، گاهی هم ریز و به دور از چشم. در هر صورت هدف و انگیزه ای در پس آن نهفته است و هیچ برندی از سر بیکاری دست به این حرکت کمابیش ریسکی نمیزند. در سال 2021 خبری جنجالی از تغییر لوگو شیائومی منتشر شد. همه به سراغ موتورهای جستجو رفتند تا ببینند این تغییری که حرفش را میزنند چگونه و به چه دلیل بوده است! این همان چیزی است که ما در این مقاله به آن میپردازیم. برند شیائومی شیائومی در آوریل 2010 به عنوان یک شرکت سفت‌افزار سفارشی برای دستگاه‌های اندرویدی توسط لی […]

نگهداری وب سایت چیست و چه هزینه هایی دارد؟

ایجاد وب سایتی که ظاهری عالی داشته باشد و عملکرد خوبی داشته باشد برای هر صنعتی مهم است، اما این تنها نیمی از نبرد است – نگهداری به همان اندازه حیاتی است. نگهداری وب سایت شما تضمین می کند که کسب و کار، وبلاگ یا حضور آنلاین شما در طول زمان به تکامل و موفقیت ادامه می دهد. این همچنین نشان می دهد که هر کسی که با سایت شما تعامل داشته باشد همیشه بهترین تجربه کاربری را خواهد داشت. در حالی که چندین کار وجود دارد که باید در هنگام نگهداری وب سایت خود در نظر بگیرید، سازماندهی هر کدام بر اساس هفته، ماه، سه ماهه و سال می تواند به شما در ایجاد یک برنامه اشتباه کمک کند […]

یک وبسایت خوب چگونه است وساختار آن چه ویژگی هایی دارد؟

نحوه ظاهر آنلاین برند یا کسب و کار شما مهمتر از همیشه است. و در حالی که وب سایت شما باید ظاهر خود را با محتوای بصری با کیفیت حفظ کند، 31 درصد از مصرف کنندگان نیز معتقدند که یک تجربه کاربری جذاب باید در اولویت باشد. هنگامی که به تنهایی یک وب سایت ایجاد می کنید، ایجاد یک تجربه کاربری تأثیرگذار اغلب به توجه به جزئیات ناشناخته مانند ساختار وب سایت شما بستگی دارد. در این مقاله، ساختار وب‌سایت را تعریف می‌کنیم، نحوه ساخت آن را از طریق دید UX یا تجربه کاربری توضیح می‌دهیم و در مورد محبوب‌ترین مدل‌هایی که امروزه در طراحی وب‌سایت و قالب‌های وب‌سایت استفاده می‌شوند، صحبت می‌کنیم. ساختار وب سایت چیست؟ ساختار وب سایت […]

لوگو اچ پی | آیا لوگو hp خلاقانه است؟

HP نام جدید هیولت پاکارد (Hewlett-Packard)، شرکت فناوری اطلاعات آمریکا است که در سال 1939 تأسیس شد. این شرکت بیشتر به دلیل تولید رایانه و لوازم جانبی شناخته شده است، اما در همان ابتدای تاریخ خود، روی نرم افزار و خدمات محاسباتی برای تجارت و خدمات متمرکز بود. شما حتما یا لپتاپ اچ پی را داشته اید یا پرینتر این برند را در خانه یا محل کارتان! داستان لوگو این برند و تغییراتش را در این مقاله بخوانید. تاریخچه لوگو hp مونوگرام نمادین “HP” روی یک دایره، از زمان معرفی اولین لوگو در سال 1939، همیشه بخشی از هویت بصری شرکت بوده است. اگرچه در طول سال ها رنگ، خطوط و همه چیز این نماد کمال یافت. اولین نماد شرکت […]

نرخ پرش چیست (Bounce Rate) و چرا اهمیت دارد؟

نرخ پرش یکی از مهم ترین معیارها در طراحی وب است – بنابراین مطمئن شوید که می دانید چگونه آن را اندازه گیری کرده و بر آن تأثیر بگذارید. هنگامی که یک وب سایت ایجاد می کنید، یک فروشگاه آنلاین راه اندازی می کنید یا در یک تیم بازاریابی حضور دارید، جذب بازدیدکننده به سایت شما اغلب اولین قدم است. مدت زمانی که یک بازدیدکننده به آن نزدیک می شود می تواند به شما بگوید که محتوای شما چقدر جذاب است – یا نیست. نرخ پرش معیاری است که این مورد را مشخص می کند. در ادامه به بررسی بخش های مختلف تاثیر گذار بر روی نرخ پرش خواهیم پرداخت. معنی نرخ پرش یا بونس ریت چیست؟ نرخ پرش یا […]

با ما تماس بگیرید!
021-91018852
آدرس
تهران- بلوار ایت الله کاشانی - خیابان کیهان - کیهان دوم - پلاک 23 - واحد 4