Parameter names and values that bind to placeholders in the DML string. A parameter placeholder consists of the @ character followed by the parameter name (for example, @firstName). Parameter names can contain letters, numbers, and underscores. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: "WHERE id > @msg_id AND id < @msg_id + 100" It is an error to execute a SQL statement with unbound parameters.
It is not always possible for Cloud Spanner to infer the right SQL type from a JSON value. For example, values of type BYTES and values of type STRING both appear in params as JSON strings. In these cases, param_types can be used to specify the exact SQL type for some or all of the SQL statement parameters. See the definition of Type for more information about SQL types.
getSql
Required. The DML string.
Returns
Type
Description
string
setSql
Required. The DML string.
Parameter
Name
Description
var
string
Returns
Type
Description
$this
getParams
Parameter names and values that bind to placeholders in the DML string.
A parameter placeholder consists of the @ character followed by the
parameter name (for example, @firstName). Parameter names can contain
letters, numbers, and underscores.
Parameters can appear anywhere that a literal value is expected. The
same parameter name can be used more than once, for example:
"WHERE id > @msg_id AND id < @msg_id + 100"
It is an error to execute a SQL statement with unbound parameters.
Parameter names and values that bind to placeholders in the DML string.
A parameter placeholder consists of the @ character followed by the
parameter name (for example, @firstName). Parameter names can contain
letters, numbers, and underscores.
Parameters can appear anywhere that a literal value is expected. The
same parameter name can be used more than once, for example:
"WHERE id > @msg_id AND id < @msg_id + 100"
It is an error to execute a SQL statement with unbound parameters.
It is not always possible for Cloud Spanner to infer the right SQL type
from a JSON value. For example, values of type BYTES and values
of type STRING both appear in
params as
JSON strings.
In these cases, param_types can be used to specify the exact
SQL type for some or all of the SQL statement parameters. See the
definition of Type for more information
about SQL types.
It is not always possible for Cloud Spanner to infer the right SQL type
from a JSON value. For example, values of type BYTES and values
of type STRING both appear in
params as
JSON strings.
In these cases, param_types can be used to specify the exact
SQL type for some or all of the SQL statement parameters. See the
definition of Type for more information
about SQL types.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Cloud Spanner V1 Client - Class Statement (1.104.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.104.0 (latest)](/php/docs/reference/cloud-spanner/latest/V1.ExecuteBatchDmlRequest.Statement)\n- [1.103.0](/php/docs/reference/cloud-spanner/1.103.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.102.0](/php/docs/reference/cloud-spanner/1.102.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.101.0](/php/docs/reference/cloud-spanner/1.101.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.100.0](/php/docs/reference/cloud-spanner/1.100.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.98.0](/php/docs/reference/cloud-spanner/1.98.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.97.0](/php/docs/reference/cloud-spanner/1.97.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.96.0](/php/docs/reference/cloud-spanner/1.96.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.95.0](/php/docs/reference/cloud-spanner/1.95.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.94.0](/php/docs/reference/cloud-spanner/1.94.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.93.1](/php/docs/reference/cloud-spanner/1.93.1/V1.ExecuteBatchDmlRequest.Statement)\n- [1.92.1](/php/docs/reference/cloud-spanner/1.92.1/V1.ExecuteBatchDmlRequest.Statement)\n- [1.91.0](/php/docs/reference/cloud-spanner/1.91.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.90.0](/php/docs/reference/cloud-spanner/1.90.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.89.0](/php/docs/reference/cloud-spanner/1.89.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.88.0](/php/docs/reference/cloud-spanner/1.88.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.87.0](/php/docs/reference/cloud-spanner/1.87.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.86.0](/php/docs/reference/cloud-spanner/1.86.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.85.0](/php/docs/reference/cloud-spanner/1.85.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.84.0](/php/docs/reference/cloud-spanner/1.84.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.83.0](/php/docs/reference/cloud-spanner/1.83.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.82.0](/php/docs/reference/cloud-spanner/1.82.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.81.0](/php/docs/reference/cloud-spanner/1.81.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.80.0](/php/docs/reference/cloud-spanner/1.80.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.79.0](/php/docs/reference/cloud-spanner/1.79.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.78.0](/php/docs/reference/cloud-spanner/1.78.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.77.0](/php/docs/reference/cloud-spanner/1.77.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.76.1](/php/docs/reference/cloud-spanner/1.76.1/V1.ExecuteBatchDmlRequest.Statement)\n- [1.68.0](/php/docs/reference/cloud-spanner/1.68.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.67.0](/php/docs/reference/cloud-spanner/1.67.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.66.0](/php/docs/reference/cloud-spanner/1.66.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.65.0](/php/docs/reference/cloud-spanner/1.65.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.64.0](/php/docs/reference/cloud-spanner/1.64.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.63.2](/php/docs/reference/cloud-spanner/1.63.2/V1.ExecuteBatchDmlRequest.Statement)\n- [1.62.1](/php/docs/reference/cloud-spanner/1.62.1/V1.ExecuteBatchDmlRequest.Statement)\n- [1.61.0](/php/docs/reference/cloud-spanner/1.61.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.60.0](/php/docs/reference/cloud-spanner/1.60.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.59.0](/php/docs/reference/cloud-spanner/1.59.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.58.4](/php/docs/reference/cloud-spanner/1.58.4/V1.ExecuteBatchDmlRequest.Statement)\n- [1.57.0](/php/docs/reference/cloud-spanner/1.57.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.56.0](/php/docs/reference/cloud-spanner/1.56.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.55.0](/php/docs/reference/cloud-spanner/1.55.0/V1.ExecuteBatchDmlRequest.Statement)\n- [1.54.2](/php/docs/reference/cloud-spanner/1.54.2/V1.ExecuteBatchDmlRequest.Statement) \nReference documentation and code samples for the Cloud Spanner V1 Client class Statement.\n\nA single DML statement.\n\nGenerated from protobuf message `google.spanner.v1.ExecuteBatchDmlRequest.Statement`\n\nNamespace\n---------\n\nGoogle \\\\ Cloud \\\\ Spanner \\\\ V1 \\\\ ExecuteBatchDmlRequest\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getSql\n\nRequired. The DML string.\n\n### setSql\n\nRequired. The DML string.\n\n### getParams\n\nParameter names and values that bind to placeholders in the DML string.\n\nA parameter placeholder consists of the `@` character followed by the\nparameter name (for example, `@firstName`). Parameter names can contain\nletters, numbers, and underscores.\nParameters can appear anywhere that a literal value is expected. The\nsame parameter name can be used more than once, for example:\n`\"WHERE id \u003e @msg_id AND id \u003c @msg_id + 100\"`\nIt is an error to execute a SQL statement with unbound parameters.\n\n### hasParams\n\n### clearParams\n\n### setParams\n\nParameter names and values that bind to placeholders in the DML string.\n\nA parameter placeholder consists of the `@` character followed by the\nparameter name (for example, `@firstName`). Parameter names can contain\nletters, numbers, and underscores.\nParameters can appear anywhere that a literal value is expected. The\nsame parameter name can be used more than once, for example:\n`\"WHERE id \u003e @msg_id AND id \u003c @msg_id + 100\"`\nIt is an error to execute a SQL statement with unbound parameters.\n\n### getParamTypes\n\nIt is not always possible for Cloud Spanner to infer the right SQL type\nfrom a JSON value. For example, values of type `BYTES` and values\nof type `STRING` both appear in\n[params](/php/docs/reference/cloud-spanner/latest/V1.ExecuteBatchDmlRequest.Statement#_Google_Cloud_Spanner_V1_ExecuteBatchDmlRequest_Statement__getParams__) as\nJSON strings.\n\nIn these cases, `param_types` can be used to specify the exact\nSQL type for some or all of the SQL statement parameters. See the\ndefinition of [Type](/php/docs/reference/cloud-spanner/latest/V1.Type) for more information\nabout SQL types.\n\n### setParamTypes\n\nIt is not always possible for Cloud Spanner to infer the right SQL type\nfrom a JSON value. For example, values of type `BYTES` and values\nof type `STRING` both appear in\n[params](/php/docs/reference/cloud-spanner/latest/V1.ExecuteBatchDmlRequest.Statement#_Google_Cloud_Spanner_V1_ExecuteBatchDmlRequest_Statement__getParams__) as\nJSON strings.\n\nIn these cases, `param_types` can be used to specify the exact\nSQL type for some or all of the SQL statement parameters. See the\ndefinition of [Type](/php/docs/reference/cloud-spanner/latest/V1.Type) for more information\nabout SQL types."]]