10bet网址
MySQL PHP API
本手册下载
PDF (Ltr)- 2.4 mb
PDF (A4)- 2.4 mb


MySQL PHP API/.../ mysqli_stmt:准备,mysqli_stmt_prepare

3.9.23mysqli_stmt:准备mysqli_stmt_prepare

PHP文档组版权所有。10bet官方网站

  • mysqli_stmt:准备

    mysqli_stmt_prepare

    准备执行SQL语句

描述

面向对象的风格

公共保龄球mysqli_stmt:准备字符串查询);

程序上的风格

保龄球mysqli_stmt_preparemysqli_stmt声明
字符串查询);

准备执行语句。查询必须包含一条SQL语句。

语句模板可以包含零个或多个问号(?参数标记]——也称为占位符。参数标记必须使用绑定到应用程序变量mysqli_stmt_bind_param在执行语句之前。

请注意

在传递语句到的情况下mysqli_stmt_prepare这比max_allowed_packet,根据是否使用MySQL Native Driver (mysqlnd)或MySQL客户端库(libmysqlclient).行为如下:

  • mysqlnd在Linux上返回1153的错误代码。错误消息意味着有一个比max_allowed_packet字节

  • mysqlnd在Windows上返回错误代码2006。这个错误消息意味着服务器消失了

  • libmysqlclient在所有平台上返回错误代码2006。这个错误消息意味着服务器消失了

参数

支撑

方法返回的语句标识符mysqli_stmt_init

查询

查询,作为字符串。它必须由单个SQL语句组成。

SQL语句可以包含零个或多个由问号(?)字符放在适当的位置。

请注意

这些标记只在SQL语句的某些地方是合法的。例如,他们被允许在值()一个列表插入语句(为一行指定列值),或与中的列进行比较在哪里子句指定一个比较值。

但是,它们不允许用于标识符(如表名或列名),也不允许指定二进制操作符的两个操作数等号。后一个限制是必要的,因为不可能确定参数类型。通常,参数只在数据操作语言(DML)语句中合法,而在数据定义语言(DDL)语句中不合法。

返回值

返回真正的在成功或在失败。

例子

例3.94mysqli_stmt:准备例子

面向对象的风格

<?php mysqli_report(MYSQLI_REPORT_ERROR);$mysqli = new mysqli("localhost", "my_user", "my_password", "world");$城市=“阿默斯福特”;*/ $stmt = $mysqli->stmt_init();$stmt->prepare("SELECT District FROM WHERE Name=?");/*绑定标记参数*/ $stmt->bind_param("s", $city);/*执行查询*/ $stmt->execute();绑定结果变量*/ $stmt->bind_result($district);/*获取值*/ $stmt->获取(); printf("%s is in district %s\n", $city, $district);

程序上的风格

<?php mysqli_report(MYSQLI_REPORT_ERROR);$link = mysqli_connect("localhost", "my_user", "my_password", "world");$城市=“阿默斯福特”;/ / $stmt = mysqli_stmt_init($link);mysqli_stmt_prepare($stmt, "SELECT District FROM WHERE Name=?");*/ mysqli_stmt_bind_param($stmt, "s", $city);/*执行查询*/ mysqli_stmt_execute($stmt);/ / mysqli_stmt_bind_result($stmt, $district);/ / mysqli_stmt_fetch($stmt); printf("%s is in district %s\n", $city, $district);

上面的例子将输出:

阿默斯福特位于乌得勒支区

另请参阅

mysqli_stmt_init
mysqli_stmt_execute
mysqli_stmt_fetch
mysqli_stmt_bind_param
mysqli_stmt_bind_result
mysqli_stmt_get_result
mysqli_stmt_close