Phalcon 3 - Db\Adapter\Pdo

فئة الملخص Phalcon \ Db \ Adapter \ Pdo




phalcon

يمتد الطبقة المجردة Phalcon\Db\Adapter

تنفذ Phalcon\Events\EventsAwareInterface ، Phalcon\Events\EventsAwareInterface Phalcon\Db\AdapterInterface

المصدر على جيثب

Phalcon \ Db \ Adapter \ Pdo هو Phalcon \ Db الذي يستخدم PDO داخليًا للاتصال بقاعدة بيانات

use Phalcon\Db\Adapter\Pdo\Mysql;

$config = [
    "host"     => "localhost",
    "dbname"   => "blog",
    "port"     => 3306,
    "username" => "sigma",
    "password" => "secret",
];

$connection = new Mysql($config);

أساليب

public __construct (واصف $ array )

منشئ ل Phalcon \ Db \ محول \ Pdo

الاتصال العام ([واصف $ array ])

يتم استدعاء هذه الطريقة تلقائيًا في منشئ \ Phalcon \ Db \ Adapter \ Pdo. اتصل بها عندما تحتاج إلى استعادة اتصال قاعدة البيانات.

use Phalcon\Db\Adapter\Pdo\Mysql;

// Make a connection
$connection = new Mysql(
    [
        "host"     => "localhost",
        "username" => "sigma",
        "password" => "secret",
        "dbname"   => "blog",
        "port"     => 3306,
    ]
);

// Reconnect
$connection->connect();

إعداد العامة ( مختلط $ sqlStatement)

إرجاع عبارة PDO المعدة ليتم تنفيذها مع "executePrepared"

use Phalcon\Db\Column;

$statement = $db->prepare(
    "SELECT * FROM robots WHERE name = :name"
);

$result = $connection->executePrepared(
    $statement,
    [
        "name" => "Voltron",
    ],
    [
        "name" => Column::BIND_PARAM_INT,
    ]
);

تنفيذ PDOStatement العامة (بيان $ PDOStatement ، العناصر النائبة $ array ، array dataTypes $)

ينفذ ملزمة بيان ملزمة. تستخدم هذه الدالة فهارس عدد صحيح تبدأ من الصفر

use Phalcon\Db\Column;

$statement = $db->prepare(
    "SELECT * FROM robots WHERE name = :name"
);

$result = $connection->executePrepared(
    $statement,
    [
        "name" => "Voltron",
    ],
    [
        "name" => Column::BIND_PARAM_INT,
    ]
);

استعلام عام ($ sqlStatement مختلط ، [$ bindParams مختلط ] ، [bindTypes $ مختلطة ])

يرسل عبارات SQL إلى خادم قاعدة البيانات لإرجاع حالة النجاح. استخدم هذه الطريقة فقط عند إرجاع عبارة SQL المرسلة إلى الخادم

// Querying data
$resultset = $connection->query(
    "SELECT * FROM robots WHERE type = 'mechanical'"
);

$resultset = $connection->query(
    "SELECT * FROM robots WHERE type = ?",
    [
        "mechanical",
    ]
);

التنفيذ العام ($ sqlStatement مختلطة ، [bindParams $ مختلطة ] ، [bindTypes $ مختلطة ])

يرسل عبارات SQL إلى خادم قاعدة البيانات لإرجاع حالة النجاح. استخدم هذه الطريقة فقط عندما لا تعرض عبارة SQL المرسلة إلى الخادم أي صفوف

// Inserting data
$success = $connection->execute(
    "INSERT INTO robots VALUES (1, 'Astro Boy')"
);

$success = $connection->execute(
    "INSERT INTO robots VALUES (?, ?)",
    [
        1,
        "Astro Boy",
    ]
);

الجمهور المتأثر ()

لعرض عدد الصفوف المتأثرة وفقًا لأحدث INSERT / UPDATE / DELETE الذي تم تنفيذه في نظام قاعدة البيانات

$connection->execute(
    "DELETE FROM robots"
);

echo $connection->affectedRows(), " were deleted";

إغلاق العامة ()

يغلق الاتصال النشط الذي يعيد النجاح. يقوم فالكون تلقائيًا بإغلاق الاتصالات النشطة وتدميرها عند انتهاء الطلب

الهروب العام ( سلسلة $ مختلطة )

يهرب من قيمة لتجنب حقن SQL وفقًا لمجموعة الأحرف النشطة في الاتصال

$escapedStr = $connection->escapeString("some dangerous value");

public convertBoundParams ( مختلطة $ sql ، [ param $ params])

يحول معلمات منضم مثل: الاسم: أو 1 إلى params ربط PDO؟

print_r(
    $connection->convertBoundParams(
        "SELECT * FROM robots WHERE name = :name:",
        [
            "Bender",
        ]
    )
);

الجمهور العام | boolean lastInsertId ([ سلسلة $ sequenceName])

تقوم بإرجاع معرف الإدراج للعمود auto_increment / serial الذي تم إدراجه في آخر جملة SQL التي تم تنفيذها

// Inserting a new robot
$success = $connection->insert(
    "robots",
    [
        "Astro Boy",
        1952,
    ],
    [
        "name",
        "year",
    ]
);

// Getting the generated id
$id = $connection->lastInsertId();

يبدأ الجمهور ([تعشيش $ مختلطة ])

يبدأ معاملة في الاتصال

الاستعادة العامة ([تعشيش $ مختلطة ])

يتراجع عن المعاملة النشطة في الاتصال

الالتزام العام ([تعشيش $ مختلطة ])

يلتزم المعاملة النشطة في الاتصال

public getTransactionLevel ()

لعرض مستوى تداخل المعاملات الحالي

public isUnderTransaction ()

التحقق مما إذا كان الاتصال ضمن معاملة

$connection->begin();

// true
var_dump(
    $connection->isUnderTransaction()
);

public getInternalHandler ()

إرجاع معالج PDO الداخلي

صفيف عام getErrorInfo ()

إرجاع معلومات الخطأ ، إن وجدت

العامة getDialectType () الموروثة من Phalcon Phalcon\Db\Adapter

اسم اللهجة المستخدمة

public getType () الموروثة من Phalcon\Db\Adapter

نوع نظام قواعد البيانات الذي يستخدم المحول لـ

العامة getSqlVariables () الموروثة من Phalcon Phalcon\Db\Adapter

متغيرات المعلمة المرتبطة SQL النشطة

public setEventsManager ( Phalcon Phalcon\Events\ManagerInterface $ eventsManager) الموروثة من Phalcon Phalcon\Db\Adapter

يعين مدير الحدث

public getEventsManager () الموروثة من Phalcon Phalcon\Db\Adapter

إرجاع مدير الحدث الداخلي

public setDialect ( Phalcon Phalcon\Db\DialectInterface $ Phalcon\Db\DialectInterface ) الموروثة من Phalcon\Db\DialectInterface Phalcon\Db\Adapter

يحدد اللهجة المستخدمة لإنتاج SQL

العامة getDialect () الموروثة من Phalcon Phalcon\Db\Adapter

إرجاع مثيل لهجة داخلية

fetchOne العامة ( مختلطة $ sqlQuery ، [$ fetchMode مختلطة ] ، [bindParams $ مختلطة ] ، [bindTypes $ مختلط ]) الموروثة من Phalcon Phalcon\Db\Adapter

لعرض الصف الأول في نتيجة استعلام SQL

// Getting first robot
$robot = $connection->fetchOne("SELECT * FROM robots");
print_r($robot);

// Getting first robot with associative indexes only
$robot = $connection->fetchOne("SELECT * FROM robots", \Phalcon\Db::FETCH_ASSOC);
print_r($robot);

مجموعة عامة fetchAll ( string $ sqlQuery، [ int $ fetchMode]، [ array $ bindParams]، [ array $ bindTypes]) الموروثة من Phalcon Phalcon\Db\Adapter

تفريغ النتيجة الكاملة للاستعلام في مصفوفة

// Getting all robots with associative indexes only
$robots = $connection->fetchAll(
    "SELECT * FROM robots",
    \Phalcon\Db::FETCH_ASSOC
);

foreach ($robots as $robot) {
    print_r($robot);
}

 // Getting all robots that contains word "robot" withing the name
$robots = $connection->fetchAll(
    "SELECT * FROM robots WHERE name LIKE :name",
    \Phalcon\Db::FETCH_ASSOC,
    [
        "name" => "%robot%",
    ]
);
foreach($robots as $robot) {
    print_r($robot);
}

سلسلة عامة | ** fetchColumn ( string $ sqlQuery ، [placeholders $ array ] ، [ int | string $ column]) موروث من Phalcon\Db\Adapter

إرجاع الحقل n'th للصف الأول في نتيجة استعلام SQL

// Getting count of robots
$robotsCount = $connection->fetchColumn("SELECT count(*) FROM robots");
print_r($robotsCount);

// Getting name of last edited robot
$robot = $connection->fetchColumn(
    "SELECT id, name FROM robots order by modified desc",
    1
);
print_r($robot);

إدراج boolean عامة ( سلسلة | جدول $ ، قيم $ array ، [ array $ fields] ، [ array $ dataTypes]) موروث من Phalcon Phalcon\Db\Adapter

إدراج البيانات في جدول باستخدام بناء جملة RDBMS SQL المخصصة

// Inserting a new robot
$success = $connection->insert(
    "robots",
    ["Astro Boy", 1952],
    ["name", "year"]
);

// Next SQL sentence is sent to the database system
INSERT INTO `robots` (`name`, `year`) VALUES ("Astro boy", 1952);

public منطقي insertAsDict ( سلسلة $ table، array $ data، [ array $ dataTypes]) الموروثة من Phalcon Phalcon\Db\Adapter

إدراج البيانات في جدول باستخدام بناء جملة RBDM SQL المخصصة

// Inserting a new robot
$success = $connection->insertAsDict(
    "robots",
    [
        "name" => "Astro Boy",
        "year" => 1952,
    ]
);

// Next SQL sentence is sent to the database system
INSERT INTO `robots` (`name`, `year`) VALUES ("Astro boy", 1952);

تحديث منطقي عام ( string | array $ table، array $ fields، array $ values، [ string | array $ conditionCondition]، [ array $ dataTypes]) الموروثة من Phalcon Phalcon\Db\Adapter

تحديث البيانات على جدول باستخدام بناء جملة RBDM SQL المخصصة

// Updating existing robot
$success = $connection->update(
    "robots",
    ["name"],
    ["New Astro Boy"],
    "id = 101"
);

// Next SQL sentence is sent to the database system
UPDATE `robots` SET `name` = "Astro boy" WHERE id = 101

// Updating existing robot with array condition and $dataTypes
$success = $connection->update(
    "robots",
    ["name"],
    ["New Astro Boy"],
    [
        "conditions" => "id = ?",
        "bind"       => [$some_unsafe_id],
        "bindTypes"  => [PDO::PARAM_INT], // use only if you use $dataTypes param
    ],
    [
        PDO::PARAM_STR
    ]
);

تحذير! إذا $ whereCondition هو سلسلة لا تهرب.

publicAsDict المنطقية العامة ( سلسلة $ table، array $ data، [ string $ whereCondition]، [ array $ dataTypes]) الموروثة من Phalcon Phalcon\Db\Adapter

تحديث البيانات على جدول باستخدام بناء جملة RBDM SQL مخصصة ، بناء الجملة أكثر ملاءمة

// Updating existing robot
$success = $connection->updateAsDict(
    "robots",
    [
        "name" => "New Astro Boy",
    ],
    "id = 101"
);

// Next SQL sentence is sent to the database system
UPDATE `robots` SET `name` = "Astro boy" WHERE id = 101

boolean public delete ( string | array $ table، [ string $ whereCondition]، [placeholders placeholders]، [ array $ dataTypes]) الموروثة من Phalcon Phalcon\Db\Adapter

يحذف البيانات من جدول باستخدام بناء جملة RBDM SQL مخصص

// Deleting existing robot
$success = $connection->delete(
    "robots",
    "id = 101"
);

// Next SQL sentence is generated
DELETE FROM `robots` WHERE `id` = 101

public escapeIdentifier ( array | string $ identifier) الموروثة من Phalcon\Db\Adapter

يهرب اسم عمود / جدول / مخطط

$escapedTable = $connection->escapeIdentifier(
    "robots"
);

$escapedTable = $connection->escapeIdentifier(
    [
        "store",
        "robots",
    ]
);

السلسلة العامة getColumnList ( صفيف $ columnList) الموروثة من Phalcon Phalcon\Db\Adapter

الحصول على قائمة من الأعمدة

الحد العام ( مختلط $ sqlQuery ، $ $ مختلطة ) الموروثة من Phalcon\Db\Adapter

يضيف جملة LIMIT إلى وسيطة sqlQuery $

echo $connection->limit("SELECT * FROM robots", 5);

table publicExists ( مختلطة $ tableName، [ مختلط $ schemaName]) الموروثة من Phalcon Phalcon\Db\Adapter

يولد SQL التحقق من وجود schema.table

var_dump(
    $connection->tableExists("blog", "posts")
);

public viewExists ( مختلط $ viewName ، [schem $ name المختلط ]) الموروثة من Phalcon Phalcon\Db\Adapter

يقوم بتوليد SQL للتحقق من وجود schema.view

var_dump(
    $connection->viewExists("active_users", "posts")
);

العامة forUpdate ( مختلطة $ sqlQuery) الموروثة من Phalcon Phalcon\Db\Adapter

تقوم بإرجاع SQL المعدلة مع جملة FOR UPDATE

public shared ( مشتركة $ sqlQuery) موروثة من Phalcon Phalcon\Db\Adapter

إرجاع SQL تعديل مع جملة LOCK IN SHARE MODE

public createTable ( مختلطة $ tableName ، $ schemaName المختلط ، تعريف $ array ) الموروثة من Phalcon\Db\Adapter

يخلق جدول

dropTable العامة ( مختلطة $ tableName، [ مختلط $ schemaName]، [ مختلط $ ifExists]) الموروثة من Phalcon Phalcon\Db\Adapter

يسقط جدول من قاعدة بيانات / قاعدة بيانات

عامة createView ( المختلط $ viewName ، تعريف $ مجموعة ، [ مختلط $ schemaName]) الموروثة من Phalcon Phalcon\Db\Adapter

يخلق طريقة عرض

dropView العامة ( المختلط $ viewName، [ المختلط $ schemaName]، [ مختلط $ ifExists]) الموروثة من Phalcon Phalcon\Db\Adapter

يسقط عرض

addColumn العامة ( مختلطة $ tableName ، $ schemaName المختلط ، عمود $ Phalcon Phalcon\Db\ColumnInterface ) الموروثة من Phalcon\Db\Adapter

يضيف عمود إلى جدول

publicColColumn ( مختلطة $ tableName ، $ schemaName المختلط ، Phalcon Phalcon\Db\ColumnInterface $ العمود ، [ Phalcon\Db\ColumnInterface $ currentColumn]) الموروثة من Phalcon\Db\Adapter

تعديل عمود جدول يستند إلى تعريف

dropColumn العامة ( مختلطة $ tableName ، مختلطة $ schemaName ، مختلطة $ columnName) الموروثة من Phalcon\Db\Adapter

يسقط عمودًا من جدول

addIndex العامة ( مختلطة $ tableName ، $ schemaName المختلط ، Phalcon Phalcon\Db\IndexInterface $ index) الموروثة من Phalcon\Db\IndexInterface Phalcon\Db\Adapter

يضيف فهرس لجدول

dropIndex العامة ( مختلطة $ tableName ، مختلطة $ schemaName ، $ indexName مختلطة ) الموروثة من Phalcon Phalcon\Db\Adapter

إسقاط فهرس من جدول

publicAdPrimaryKey ( اختلاف $ tableName ، $ schemaName المختلط ، Phalcon Phalcon\Db\IndexInterface $ index) الموروثة من Phalcon\Db\IndexInterface Phalcon\Db\Adapter

يضيف مفتاح أساسي إلى جدول

dropPrimaryKey العامة ( مختلطة $ tableName، schemaName $ مختلطة ) الموروثة من Phalcon Phalcon\Db\Adapter

يسقط المفتاح الأساسي للجدول

publicAdForeignKey ( مختلطة $ tableName ، $ schemaName المختلط ، مرجع $ Phalcon Phalcon\Db\ReferenceInterface $) الموروثة من Phalcon\Db\Adapter

يضيف مفتاح خارجي لجدول

عامة dropForeignKey ( مختلطة $ tableName ، $ schemaName المختلط ، $ referenceName مختلطة ) الموروثة من Phalcon\Db\Adapter

يسقط مفتاح خارجي من جدول

عامة getColumnDefinition ( عمود Phalcon Phalcon\Db\ColumnInterface $) الموروثة من Phalcon\Db\Adapter

لعرض تعريف عمود SQL من عمود

القائمة العامة Tables ([ مختلط $ schemaName]) الموروثة من Phalcon Phalcon\Db\Adapter

قائمة جميع الجداول على قاعدة بيانات

print_r(
    $connection->listTables("blog")
);

القائمة العامة Views ([ مختلط $ schemaName]) الموروثة من Phalcon Phalcon\Db\Adapter

سرد كل وجهات النظر على قاعدة البيانات

print_r(
    $connection->listViews("blog")
);

public Phalcon\Db\Index [] descriptionIndexes ( string $ table، [ string $ schema]) الموروثة من Phalcon\Db\Adapter

قوائم جداول الجدول

print_r(
    $connection->describeIndexes("robots_parts")
);

descriptionReferences العامة (جدول $ مختلطة ، [مخطط $ مختلط ]) الموروثة من Phalcon\Db\Adapter

قوائم المراجع الجدول

print_r(
    $connection->describeReferences("robots_parts")
);

الجدول العامخيارات ( مختلطة $ tableName، [ مختلط $ schemaName]) الموروثة من Phalcon Phalcon\Db\Adapter

يحصل على خيارات إنشاء من جدول

print_r(
    $connection->tableOptions("robots")
);

عامة createSavepoint (اسم $ مختلطة ) الموروثة من Phalcon\Db\Adapter

يخلق نقطة حفظ جديدة

public releaseSavepoint (اسم $ مختلطة ) الموروثة من Phalcon\Db\Adapter

النشرات نظرا ل savepoint

عامة rollbackSavepoint (اسم $ مختلطة ) الموروثة من Phalcon\Db\Adapter

rollbacks المعطى savepoint

public setNestedTransactionsWithSavepoints ( مختلطة $ nestedTransactionsWithSavepoints) الموروثة من Phalcon Phalcon\Db\Adapter

قم بتعيين إذا كانت المعاملات المتداخلة يجب أن تستخدم نقاط الحفظ

public isNestedTransactionsWithSavepoints () الموروثة من Phalcon Phalcon\Db\Adapter

إرجاع إذا كان يجب استخدام المعاملات المتداخلة savepoints

العامة getNestedTransactionSavepointName () الموروثة من Phalcon Phalcon\Db\Adapter

إرجاع اسم savepoint لاستخدامه في المعاملات المتداخلة

public getDefaultIdValue () الموروثة من Phalcon Phalcon\Db\Adapter

لعرض قيمة الهوية الافتراضية ليتم إدراجه في عمود الهوية

// Inserting a new robot with a valid default value for the column 'id'
$success = $connection->insert(
    "robots",
    [
        $connection->getDefaultIdValue(),
        "Astro Boy",
        1952,
    ],
    [
        "id",
        "name",
        "year",
    ]
);

public getDefaultValue () الموروثة من Phalcon Phalcon\Db\Adapter

إرجاع القيمة الافتراضية لجعل RBDM تستخدم القيمة الافتراضية المعلنة في تعريف الجدول

// Inserting a new robot with a valid default value for the column 'year'
$success = $connection->insert(
    "robots",
    [
        "Astro Boy",
        $connection->getDefaultValue()
    ],
    [
        "name",
        "year",
    ]
);

public supportSequences () الموروثة من Phalcon\Db\Adapter

تحقق مما إذا كان نظام قاعدة البيانات يتطلب تسلسلًا لإنتاج القيم التلقائية الرقمية

public usageExplicitIdValue () الموروثة من Phalcon Phalcon\Db\Adapter

تحقق مما إذا كان نظام قاعدة البيانات يتطلب قيمة صريحة لأعمدة الهوية

العامة getDescriptor () الموروثة من Phalcon Phalcon\Db\Adapter

واصف العودة المستخدمة للاتصال بقاعدة البيانات النشطة

السلسلة العامة getConnectionId () الموروثة من Phalcon Phalcon\Db\Adapter

يحصل على معرف فريد للاتصال نشط

public getSQLStatement () الموروثة من Phalcon Phalcon\Db\Adapter

عبارة SQL النشطة في الكائن

العامة getRealSQLStatement () الموروثة من Phalcon Phalcon\Db\Adapter

عبارة SQL النشطة في الكائن دون استبدال معلمات منضم

مجموعة عامة getSQLBindTypes () الموروثة من Phalcon Phalcon\Db\Adapter

عبارة SQL النشطة في الكائن

الأوصاف العامة المجردة (جدول $ مختلط ، [مخطط $ مختلط ]) موروث من Phalcon\Db\AdapterInterface

...