时间:2021-07-01 10:21:17 帮助过:5人阅读
而php中出现的预编译解决了这个问题,他的工作原理是:将sql语句发过去,数据库对这一个sql语句进行预编译处理。之后你只需要将要数据发送到数据库即可。
下面通过一个官方的例子来说明这个情况:
prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);$code = 'DEU';$language = 'Bavarian';$official = "F";$percent = 11.2;/* execute prepared statement */$stmt->execute();printf("%d Row inserted.\n", $stmt->affected_rows);/* close statement and connection */$stmt->close();/* Clean up table CountryLanguage */$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");printf("%d Row deleted.\n", $mysqli->affected_rows);/* close connection */$mysqli->close();?>
$stmt->bind_param是进行参数绑定。
$stmt->execute();是进行插入操作。
如果需要插入多个数据,只需要操作$stmt->bind_param和$stmt->execute();即可。