mysqli_query() 期望参数 2 是带有 bind_param 的字符串
mysqli_query() expects parameter 2 to be string with bind_param
我在浏览器中调用 archive.php 时出现错误:
警告:mysqli_query() 期望参数 2 为字符串,对象在...
中给出
<?php
$connection = new mysqli('localhost','root','', 'scale');
if (mysqli_connect_errno()) {
printf("Error de conexión: %s\n", mysqli_connect_error());
exit();
}
$stmt = $connection->prepare(' SELECT
R.cod_region, P.region, P.comuna, COUNT(DISTINCT(P.id)) AS sitios, COUNT(DISTINCT(A.TEXTO)) AS alarmas
FROM region R, pop P, sitios_pop SP, sitios S
LEFT JOIN log_alarm_2g A ON S.RSITE = A.RSITE AND A.CLASE = "A1"
AND A.INICIO >= "2016-02-14"
WHERE
R.cod_region = ? AND
R.region = P.region AND
S.ESTADO = "OPERATIVO" AND
S.SITIO = SP.cod_sitio AND
SP.id_pop = P.id
GROUP BY
P.region,
P.comuna
ORDER BY
R.cod_region ');
$stmt->bind_param('i', $cod_region);
$resultset = mysqli_query($connection, $stmt);
$records= array();
while($r = mysqli_fetch_assoc($resultset)){
$records[] = $r;
}
echo json_encode($records);
?>
为了使用 prepare and bind
语句,我们使用 execute() 而不是 mysqli_query()
您必须使用 execute()
和 get_result()
作为
$stmt->bind_param('i', $cod_region);
// $resultset = mysqli_query($connection, $stmt);
$stmt->execute();// use execute
$records= array();
$result = $stmt->get_result();
while ($data = $result->fetch_assoc($result))
{
$records[] = $data;
}
我在浏览器中调用 archive.php 时出现错误: 警告:mysqli_query() 期望参数 2 为字符串,对象在...
中给出<?php
$connection = new mysqli('localhost','root','', 'scale');
if (mysqli_connect_errno()) {
printf("Error de conexión: %s\n", mysqli_connect_error());
exit();
}
$stmt = $connection->prepare(' SELECT
R.cod_region, P.region, P.comuna, COUNT(DISTINCT(P.id)) AS sitios, COUNT(DISTINCT(A.TEXTO)) AS alarmas
FROM region R, pop P, sitios_pop SP, sitios S
LEFT JOIN log_alarm_2g A ON S.RSITE = A.RSITE AND A.CLASE = "A1"
AND A.INICIO >= "2016-02-14"
WHERE
R.cod_region = ? AND
R.region = P.region AND
S.ESTADO = "OPERATIVO" AND
S.SITIO = SP.cod_sitio AND
SP.id_pop = P.id
GROUP BY
P.region,
P.comuna
ORDER BY
R.cod_region ');
$stmt->bind_param('i', $cod_region);
$resultset = mysqli_query($connection, $stmt);
$records= array();
while($r = mysqli_fetch_assoc($resultset)){
$records[] = $r;
}
echo json_encode($records);
?>
为了使用 prepare and bind
语句,我们使用 execute() 而不是 mysqli_query()
您必须使用 execute()
和 get_result()
作为
$stmt->bind_param('i', $cod_region);
// $resultset = mysqli_query($connection, $stmt);
$stmt->execute();// use execute
$records= array();
$result = $stmt->get_result();
while ($data = $result->fetch_assoc($result))
{
$records[] = $data;
}