`

mysql 5中的mysqli新支持的preparestament

阅读更多
mysql5 中的mysqli的确值得仔细去用和学习一下,今天看了看其中的一些新
特性,比如新增加了支持preparestament的支持,举例子如下(摘自apress的书)
<?php
// Create a new server connection
$mysqli = new mysqli("127.0.0.1", "siteuser", "secret", "company");
// Create the query and corresponding placeholders
$query = "INSERT INTO product SET rowID=NULL, productID=?,
name=?, price=?, description=?";
// Create a statement object
$stmt = $mysqli->stmt_init();
// Prepare the statement for execution
$stmt->prepare($query);
// Bind the parameters

$stmt->bind_param('ssds', $productid, $name, $price, $description);
// Assign the posted productid array
$productidarray = $_POST['productid'];
// Assign the posted name array
$namearray = $_POST['name'];
// Assign the posted price array
$pricearray = $_POST['price'];
// Assign the posted description array
$descarray = $_POST['description'];
// Initialize the counter
$x = 0;

// Cycle through each posted URL in the array, and iteratively execute the query
while ($x < sizeof($productidarray)) {
$productid = $productidarray[$x];
$name = $namearray[$x];
$price = $pricearray[$x];
$description = $descarray[$x];
$stmt->execute();
}

// Recuperate the statement resources
$stmt->close();
// Close the connection
$mysqli->close();
?>

 以上其实是个典型的例子,其实和JAVA里的差不多,要注意的是
 Create a statement object
$stmt = $mysqli->stmt_init();
// Prepare the statement for execution
$stmt->prepare($query);
 首先初始化statement,然后学java那样,调用stmt的prepare方法
最后对SQL语句中的?给予赋值
最后用execute执行,并用$stmt->close()关闭连接,记得最后用$mysqli->close()去关闭连接mysqli



分享到:
评论

相关推荐

    Mysql/Mysqli 类文件

    MySQL和mysqli都是PHP中用于与MySQL数据库交互的扩展库,它们在Web开发中扮演着重要角色。本篇文章将深入探讨这两个库,以及如何实现读写分离以优化数据库集群的性能。 首先,MySQL是PHP的一个旧版数据库接口,而...

    PHP中基于MYSQLI类操作MYSQL数据库的实现.pdf

    PHP 中基于 MYSQLI 类操作 MYSQL 数据库的实现 ...在实践中,使用 MYSQLI 类操作 MYSQL 数据库可能会遇到一些问题,例如,如何处理查询结果、如何防止 SQL 注入漏洞等。开发者需要注意这些问题,并采取相应的解决方案。

    PHP语言中mysql与mysqli应用浅析.pdf

    PHP 语言中 mysql 与 mysqli 应用浅析 MySQL 是一种关系型数据库管理系统,PHP 语言是 Web 开发中最流行的语言之一,而 mysql 和 mysqli 则是 PHP 语言中访问 MySQL 数据库的两种方式。mysql 是 PHP 早期版本中访问...

    php版mysql类使用mysqli链式调用实现

    php实现 数据库为mysql 使用mysqli连接 对增删改查的动作安全校验 使用方法: $db-&gt;from('xfz_user')-&gt;where($userArr)-&gt;getOne(); $db-&gt;from('xfz_user')-&gt;where($userArr)-&gt;insert();

    PHP中mysql与mysqli的比较及应用.pdf

    然而,随着MySQL数据库的发展,特别是从4.1版本之后,mysql扩展逐渐暴露出一些问题,例如不支持新的特性,如预处理语句和存储过程,也不具备错误处理机制,这使得在新版本的MySQL上使用mysql扩展变得不再合适。...

    数据库操作类mysql/mysqli/pdo

    mysqli扩展是MySQL API的一个增强版本,支持面向对象和过程式两种编程风格。它包含了MySQL的一些新特性,如预处理语句、存储过程支持以及更好的错误处理机制。预处理语句能有效防止SQL注入攻击,提高执行效率,同时...

    mysql 依赖 驱动。5 - 8都有

    4. **Python驱动**:Python有多种库可以连接MySQL,例如`mysql-connector-python`,这是一个官方提供的Python MySQL驱动,支持Python 2和3,兼容MySQL 5到8。 5. **C++驱动**:MySQL Connector/C++是官方的C++接口...

    对PHP中mysqli扩展模块的探究及应用.pdf

    mysqli 扩展模块可以在 PHP5 和 MySQL 4.1.13 或更新的版本中使用。 mysqli 扩展模块的优点 1. 面向对象接口:mysqli 扩展模块提供了一个面向对象的接口,用于与 MySQL 服务器进行交互。 2. 预处理语句支持:...

    PHP中基于MySQLi类操作MySQL数据库的实现.pdf

    PHP 中基于 MySQLi 类操作 MySQL 数据库的实现 在当前网络技术飞速发展的时代,无论是 PC 端还是移动端,基本上所有网站都是动态网站。动态网站具有广泛的应用对象,而 PHP 技术在功能需求和设计领域具有规范性和...

    PDO和mysqli的区别

    - mysqli仅支持MySQL数据库,如果项目只涉及MySQL,mysqli可能是更好的选择,因为它提供了更直接的MySQL特性和优化。 2. **API支持**: - PDO和mysqli都提供了面向对象的API,方便使用类和对象来操作数据库。 - ...

    Wamp集成环境php采用mysqli进行mysql数据库的数据访问:.pdf

    在本文中,我们将探讨使用Wamp集成环境下的PHP语言通过mysqli扩展来访问MySQL数据库。mysqli是一种面向对象的方式来访问MySQL数据库,提供了更好的安全性和性能。 首先,让我们看一下如何使用mysqli来连接MySQL...

    Laravel开发-laravel-eloquent-mysqli

    总之,`laravel-eloquent-mysqli` 项目旨在帮助开发者了解和实践在 Laravel 中使用 mysqli 驱动进行数据库操作,这对于那些需要充分利用 MySQL 扩展特性的项目来说,是一个有价值的资源。在实际开发中,根据项目需求...

    mysql,mysqli,PDO的各自不同介绍

    MySQL、mysqli和PDO都是PHP中用于连接和操作MySQL数据库的扩展库,各有其特点和适用场景。下面将分别介绍它们的差异以及性能表现。 首先,MySQL(也称为MySQLi)是PHP早期提供的一个用于MySQL数据库的原生接口。它...

    MYSQL5.1 CHM版中文帮助文档.zip_MYSQL_msql 5.1 API文档

    PHP API在MySQL 5.1中也有广泛的应用,它提供了类似但更面向对象的接口,如`mysqli_connect()`、`mysqli_query()`、`mysqli_fetch_assoc()`等,这些函数使得在PHP中操作MySQL数据库变得更加简单。 Perl和Java API则...

    韩顺平老师的phpsqlhelper类.修改部分mysql为mysqli

    韩顺平老师的phpsqlhelper类.修改部分mysql为mysqli。另也有韩顺平老师的smarty模板视频。要的联系

    php_mysqli.zip

    它支持面向对象和面向过程两种编程方式,提供了预处理语句、事务处理等功能,增强了对MySQL新特性的支持,如存储过程、触发器等。MySQLi的“i”代表“Improved”,意味着它比旧版的MySQL扩展在性能、安全性和功能上...

    PHP6与MySQL5-php6.rar

    MySQL5版本带来了许多新特性,包括: 1. **存储过程**:允许创建可重复使用的数据库操作序列,提高了代码复用性和性能。 2. **触发器**:自动执行的数据库操作,可以在数据修改时实现复杂业务逻辑。 3. **视图**:...

    Laravel开发-laravel-mysqli-driver

    `laravel-mysqli-driver`是一个针对Laravel 5.5的扩展,旨在提供一个高级的mysqli驱动程序,以替代默认的PDO MySQL驱动,从而优化数据库交互。这个扩展使得开发者可以充分利用mysqli扩展的特性,包括预处理语句、...

    php连接mysql之mysql_connect()与mysqli_connect()的区别

    3. 支持新的MySQL特性,如存储过程、事务等。 4. 提供了更好的错误处理机制,可以通过`mysqli_error()`获取更详细的错误信息。 在示例中,我们可以看到`mysql_connect()`和`mysqli_connect()`的使用方式非常相似。...

Global site tag (gtag.js) - Google Analytics