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都是PHP中用于与MySQL数据库交互的扩展库,它们在Web开发中扮演着重要角色。本篇文章将深入探讨这两个库,以及如何实现读写分离以优化数据库集群的性能。 首先,MySQL是PHP的一个旧版数据库接口,而...
PHP 中基于 MYSQLI 类操作 MYSQL 数据库的实现 ...在实践中,使用 MYSQLI 类操作 MYSQL 数据库可能会遇到一些问题,例如,如何处理查询结果、如何防止 SQL 注入漏洞等。开发者需要注意这些问题,并采取相应的解决方案。
PHP 语言中 mysql 与 mysqli 应用浅析 MySQL 是一种关系型数据库管理系统,PHP 语言是 Web 开发中最流行的语言之一,而 mysql 和 mysqli 则是 PHP 语言中访问 MySQL 数据库的两种方式。mysql 是 PHP 早期版本中访问...
php实现 数据库为mysql 使用mysqli连接 对增删改查的动作安全校验 使用方法: $db->from('xfz_user')->where($userArr)->getOne(); $db->from('xfz_user')->where($userArr)->insert();
然而,随着MySQL数据库的发展,特别是从4.1版本之后,mysql扩展逐渐暴露出一些问题,例如不支持新的特性,如预处理语句和存储过程,也不具备错误处理机制,这使得在新版本的MySQL上使用mysql扩展变得不再合适。...
mysqli扩展是MySQL API的一个增强版本,支持面向对象和过程式两种编程风格。它包含了MySQL的一些新特性,如预处理语句、存储过程支持以及更好的错误处理机制。预处理语句能有效防止SQL注入攻击,提高执行效率,同时...
4. **Python驱动**:Python有多种库可以连接MySQL,例如`mysql-connector-python`,这是一个官方提供的Python MySQL驱动,支持Python 2和3,兼容MySQL 5到8。 5. **C++驱动**:MySQL Connector/C++是官方的C++接口...
mysqli 扩展模块可以在 PHP5 和 MySQL 4.1.13 或更新的版本中使用。 mysqli 扩展模块的优点 1. 面向对象接口:mysqli 扩展模块提供了一个面向对象的接口,用于与 MySQL 服务器进行交互。 2. 预处理语句支持:...
PHP 中基于 MySQLi 类操作 MySQL 数据库的实现 在当前网络技术飞速发展的时代,无论是 PC 端还是移动端,基本上所有网站都是动态网站。动态网站具有广泛的应用对象,而 PHP 技术在功能需求和设计领域具有规范性和...
- mysqli仅支持MySQL数据库,如果项目只涉及MySQL,mysqli可能是更好的选择,因为它提供了更直接的MySQL特性和优化。 2. **API支持**: - PDO和mysqli都提供了面向对象的API,方便使用类和对象来操作数据库。 - ...
在本文中,我们将探讨使用Wamp集成环境下的PHP语言通过mysqli扩展来访问MySQL数据库。mysqli是一种面向对象的方式来访问MySQL数据库,提供了更好的安全性和性能。 首先,让我们看一下如何使用mysqli来连接MySQL...
总之,`laravel-eloquent-mysqli` 项目旨在帮助开发者了解和实践在 Laravel 中使用 mysqli 驱动进行数据库操作,这对于那些需要充分利用 MySQL 扩展特性的项目来说,是一个有价值的资源。在实际开发中,根据项目需求...
MySQL、mysqli和PDO都是PHP中用于连接和操作MySQL数据库的扩展库,各有其特点和适用场景。下面将分别介绍它们的差异以及性能表现。 首先,MySQL(也称为MySQLi)是PHP早期提供的一个用于MySQL数据库的原生接口。它...
PHP API在MySQL 5.1中也有广泛的应用,它提供了类似但更面向对象的接口,如`mysqli_connect()`、`mysqli_query()`、`mysqli_fetch_assoc()`等,这些函数使得在PHP中操作MySQL数据库变得更加简单。 Perl和Java API则...
韩顺平老师的phpsqlhelper类.修改部分mysql为mysqli。另也有韩顺平老师的smarty模板视频。要的联系
它支持面向对象和面向过程两种编程方式,提供了预处理语句、事务处理等功能,增强了对MySQL新特性的支持,如存储过程、触发器等。MySQLi的“i”代表“Improved”,意味着它比旧版的MySQL扩展在性能、安全性和功能上...
MySQL5版本带来了许多新特性,包括: 1. **存储过程**:允许创建可重复使用的数据库操作序列,提高了代码复用性和性能。 2. **触发器**:自动执行的数据库操作,可以在数据修改时实现复杂业务逻辑。 3. **视图**:...
`laravel-mysqli-driver`是一个针对Laravel 5.5的扩展,旨在提供一个高级的mysqli驱动程序,以替代默认的PDO MySQL驱动,从而优化数据库交互。这个扩展使得开发者可以充分利用mysqli扩展的特性,包括预处理语句、...
3. 支持新的MySQL特性,如存储过程、事务等。 4. 提供了更好的错误处理机制,可以通过`mysqli_error()`获取更详细的错误信息。 在示例中,我们可以看到`mysql_connect()`和`mysqli_connect()`的使用方式非常相似。...