انتقل إلى محتوى الدرس

SQL Column Types to PHP Types Table جدول مطابقة أنواع أعمدة SQL مع PHP

نفّذ أوامر بناء الهيكلة DDL بأمان في PHP 8 عبر PDO::exec لإنشاء قواعد البيانات وجداول UTF8MB4 والمفاتيح الأساسية والفهارس.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

اختيار نوع عمود SQL المناسب يضمن كفاءة التخزين على القرص ومطابقة الأنواع بدقة عند جلب الصفوف إلى PHP 8.4.

  • عطّل المحاكاة (PDO::ATTR_EMULATE_PREPARES => false) لكي تُرجع قاعدة البيانات أعمدة الأعداد الصحيحة كنوع int حقيقي في PHP.
  • انتبه إلى أن أعمدة DECIMAL(10, 2) تُرجع عمداً كنص string (مثل "249.50") للحفاظ على الدقة العشرية المالية دون فقدان.
  • لا تنفذ أوامر الهيكلة بمدخلات الزوار أبداً؛ بل شغّل ملفات التهجير عبر سطر الأوامر (CLI).

مع تفعيل الأنواع الأصلية، يعود عمود INTEGER مباشرة كعدد صحيح integer داخل PHP.

نوع عمود SQLأفضل استخدامنوع القيمة في PHPنصيحة التصميم
BIGINT UNSIGNEDPrimary & Foreign Key IDsint (on 64-bit PHP)Match signedness on FKs
VARCHAR(190) / TEXTEmails, slugs / Article bodystringAdd UNIQUE on emails/slugs
DECIMAL(10, 2)Money, prices, tax ratesstring (exact precision)Never use FLOAT for money
TINYINT(1) / TIMESTAMPBoolean flags / Audit timesint (0/1) / stringUse DEFAULT CURRENT_TIMESTAMP

PHP
<?php
$pdo = new PDO('sqlite::memory:');
$pdo->exec('CREATE TABLE metrics (id INTEGER PRIMARY KEY, hits INTEGER NOT NULL)');
$pdo->exec('INSERT INTO metrics (hits) VALUES (42)');
$row = $pdo->query('SELECT id, hits FROM metrics')->fetch(PDO::FETCH_ASSOC);
echo gettype($row['hits']) . ":" . $row['hits'] . "\n";
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

اختيار نوع عمود SQL المناسب يضمن كفاءة التخزين على القرص ومطابقة الأنواع بدقة عند جلب الصفوف إلى PHP 8.4. عطّل المحاكاة (PDO::ATTR_EMULATE_PREPARES => false) لكي تُرجع قاعدة البيانات أعمدة الأعداد الصحيحة كنوع int حقيقي في PHP. انتبه إلى أن أعمدة DECIMAL(10, 2) تُرجع عمداً كنص string (مثل "249.50") للحفاظ على الدقة العشرية المالية دون فقدان. لا تنفذ أوامر الهيكلة بمدخلات الزوار أبداً؛ بل شغّل ملفات التهجير عبر سطر الأوامر (CLI).