summaryrefslogtreecommitdiff
path: root/vendor/doctrine/dbal/src/Driver/Statement.php
blob: 5f91b4937110a42ce15652412bbc6a0d08d5a276 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php

declare(strict_types=1);

namespace Doctrine\DBAL\Driver;

use Doctrine\DBAL\ParameterType;

/**
 * Driver-level statement
 */
interface Statement
{
    /**
     * Binds a value to a corresponding named (not supported by mysqli driver, see comment below) or positional
     * placeholder in the SQL statement that was used to prepare the statement.
     *
     * As mentioned above, the named parameters are not natively supported by the mysqli driver, use executeQuery(),
     * fetchAll(), fetchArray(), fetchColumn(), fetchAssoc() methods to have the named parameter emulated by doctrine.
     *
     * @param int|string    $param Parameter identifier. For a prepared statement using named placeholders,
     *                             this will be a parameter name of the form :name. For a prepared statement
     *                             using question mark placeholders, this will be the 1-indexed position
     *                             of the parameter.
     * @param mixed         $value The value to bind to the parameter.
     * @param ParameterType $type  Explicit data type for the parameter using the {@see ParameterType}
     *                             constants.
     *
     * @throws Exception
     */
    public function bindValue(int|string $param, mixed $value, ParameterType $type): void;

    /**
     * Executes a prepared statement
     *
     * @throws Exception
     */
    public function execute(): Result;
}