PHP mysqli_prepare() 函数



定义和用法

mysqli_prepare() 函数准备一条SQL语句以供执行,你可以在查询中使用参数标记(“?”),为其指定值,然后稍后执行。

语法

mysqli_prepare($con, $str);

参数

序号 参数及描述
1

con(必填)

这是一个表示与MySQL服务器连接的对象。

2

str(必填)

这是一个字符串值,指定所需的查询。

返回值

如果成功,此函数返回一个语句对象;如果失败,则返回false

PHP 版本

此函数首次在PHP 5版本中引入,并在所有后续版本中均有效。

示例

以下示例演示了mysqli_prepare()函数的用法(过程式风格)−

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");

   $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; 
   mysqli_query($con, $query);
   print("Table Created.....\n");

   $stmt = mysqli_prepare($con, "INSERT INTO Test values(?, ?)");
   mysqli_stmt_bind_param($stmt, "si", $Name, $Age);
   $Name = 'Raju';
   $Age = 25;
   print("Record Inserted.....");

   //Executing the statement
   mysqli_stmt_execute($stmt);

   //Closing the statement
   mysqli_stmt_close($stmt);

   //Closing the connection
   mysqli_close($con);
?>

这将产生以下结果 −

Table Created.....
Record Inserted.....

如果你验证表的内容如下所示 $minus;

mysql> select * from test;
+------+------+
| Name | AGE  |
+------+------+
| Raju |   25 |
+------+------+
1 row in set (0.00 sec)

示例

在面向对象风格中,此函数的语法为$con->prepare();以下是此函数在面向对象风格中的示例 $minus;

<?php
   //Creating a connection
   $con = new mysqli("localhost", "root", "password", "mydb");

   $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; 
   $con -> query($query);
   print("Table Created.....\n");

   $stmt = $con -> prepare( "INSERT INTO Test values(?, ?)");
   $stmt -> bind_param("si", $Name, $Age);
   $Name = 'Raju';
   $Age = 25;
   print("Record Inserted.....");

   //Executing the statement
   $stmt->execute();

   //Closing the statement
   $stmt->close();

   //Closing the connection
   $con->close();
?>

这将产生以下结果 −

Table Created.....
Record Inserted.....
php_function_reference.htm
广告