mysql到mysqli的转换

时间:2012-12-03 17:11:42

标签: php mysql mysqli

您好我将MySQL代码转换为MySQLi因为它更安全,但AFAIK MySQLi本身并不安全。

我在本主题的选定答案中使用了转换器: Updating from MYSQL to MYSQLI

并且代码正在运行,但现在我不知道该怎么做,我知道我必须准备好查询但确切地在哪里以及如何准备我不知道......

例如,如果我有一个包含5个或更多php变量的INSERT查询,它可以吗?我该怎么办?我找到的所有例子都是一个变量......我是否在查询之前的行中做好准备?

我太困惑了吗?我很抱歉,如果这是非常基本的东西,但我完全不喜欢这个,我想要的只是一些指导......

1 个答案:

答案 0 :(得分:4)

以下是具有多个参数的INSERT查询的示例。

/* create a prepared statement */
if ($stmt = $mysqli->prepare("INSERT INTO mytable (field1, field2, field3) VALUES(?, ?, ?)")) {

    /* bind parameters for markers */
    $stmt->bind_param("sss", $field1, $field2, $field3);

    /* execute query */
    $stmt->execute();

    /* close statement */
    $stmt->close();
}

正如您所看到的,$field1$field2$field3将被绑定为字符串(请注意三个s)并将替换? in {查询。

Bind param types

  

i - 对应变量的类型为整数
  d - 对应变量的类型为double   s - 对应的变量具有类型字符串
  b - 相应的变量是blob,将以数据包发送