Php 如何在MySQLI中使用prepared语句?
我使用Php 如何在MySQLI中使用prepared语句?,php,mysql,sql,mysqli,prepared-statement,Php,Mysql,Sql,Mysqli,Prepared Statement,我使用where子句获得了正确的结果使用prepare函数进行SELECT查询: 在EXECUTE语句中需要有using子句。所以你可以这样做: /* create a prepared statement */ if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) { /* bind parameters for markers */ $stmt->bind_param("s", $
where子句获得了正确的结果使用prepare函数进行SELECT查询:
在EXECUTE语句中需要有using子句。所以你可以这样做:
/* create a prepared statement */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {
/* bind parameters for markers */
$stmt->bind_param("s", $city);
/* execute query */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($district);
/* fetch value */
$stmt->fetch();
/* close statement */
$stmt->close();
}
我如何多次调用它?这里的想法是准备查询、绑定值、执行准备好的查询、绑定其他值、使用这些新值再次执行准备好的查询,等等。因此,只需再次调用execute()
。更多信息:
mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $
/* create a prepared statement */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {
/* bind parameters for markers */
$stmt->bind_param("s", $city);
/* execute query */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($district);
/* fetch value */
$stmt->fetch();
/* close statement */
$stmt->close();
}
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query('PREPARE mid FROM "SELECT name FROM test_user WHERE id = ?"');
$mysqli->query('SET @var1 = 1;');
$res = $mysqli->query( 'EXECUTE mid USING @var1;') or die(mysqli_error($mysqli));