mysqli预处理数据类型SI还有什么
时间: 2023-08-29 19:08:04 浏览: 60
mysqli预处理数据类型除了SI,还有以下几种:
- i:表示整数类型
- d:表示双精度浮点类型
- s:表示字符串类型
- b:表示二进制类型
所以,mysqli预处理数据类型共有四种,分别对应不同的数据类型。在使用mysqli进行预处理时,需要根据具体情况选择合适的数据类型,以确保数据的准确性和安全性。
相关问题
mysqli预处理增删改查
当使用MySQLi进行增删改查时,建议使用预处理语句来保护应用程序免受SQL注入攻击。以下是使用MySQLi预处理语句的示例:
1. 连接数据库
```php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
```
2. 执行查询
```php
// 准备SQL语句和绑定参数
$stmt = $conn->prepare("SELECT * FROM myTable WHERE id=?");
$stmt->bind_param("i", $id);
// 设置参数并执行查询
$id = 1;
$stmt->execute();
// 获取结果集
$result = $stmt->get_result();
// 输出结果
while ($row = $result->fetch_assoc()) {
echo "id: " . $row["id"] . " - Name: " . $row["name"] . "<br>";
}
```
3. 执行插入
```php
// 准备SQL语句和绑定参数
$stmt = $conn->prepare("INSERT INTO myTable (name, email, phone) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $name, $email, $phone);
// 设置参数并执行插入
$name = "John Doe";
$email = "john@example.com";
$phone = "555-555-5555";
$stmt->execute();
// 输出插入的行数
echo "New records created successfully. Rows inserted: " . mysqli_affected_rows($conn);
```
4. 执行更新
```php
// 准备SQL语句和绑定参数
$stmt = $conn->prepare("UPDATE myTable SET email=?, phone=? WHERE id=?");
$stmt->bind_param("ssi", $email, $phone, $id);
// 设置参数并执行更新
$id = 1;
$email = "john@example.com";
$phone = "555-555-5555";
$stmt->execute();
// 输出更新的行数
echo "Records updated successfully. Rows affected: " . mysqli_affected_rows($conn);
```
5. 执行删除
```php
// 准备SQL语句和绑定参数
$stmt = $conn->prepare("DELETE FROM myTable WHERE id=?");
$stmt->bind_param("i", $id);
// 设置参数并执行删除
$id = 1;
$stmt->execute();
// 输出删除的行数
echo "Records deleted successfully. Rows affected: " . mysqli_affected_rows($conn);
```
注意:在使用预处理语句时,要注意使用正确的参数类型。在上面的示例中,“s”表示字符串类型,“i”表示整型。您可以根据需要更改参数类型。
mysqli_query()是什么意思
mysqli_query() 是 PHP 中用于执行 MySQL 查询的函数。它接受两个参数:一个是连接到 MySQL 数据库的对象,另一个是要执行的 SQL 查询语句。该函数返回一个结果集对象,可以用来获取查询结果。