prepare("SELECT idequipo, CONCAT(equipo.nombre,' '-6ren">
gpt4 book ai didi

php - PDO 返回空结果 o 最后结果 Mysql

转载 作者:行者123 更新时间:2023-11-29 21:34:06 25 4
gpt4 key购买 nike

请问谁能告诉我我在这里做错了什么?

$unir = "";

$equxflo = $DB_con->prepare("SELECT idequipo, CONCAT(equipo.nombre,' ',equipo.modelo,' ',equipo.marca,' ',equipo.serieplaca) AS flota FROM equipo WHERE idusuario = '$idu' ORDER BY idequipo DESC");
$equxflo->execute();
while($row = $equxflo->fetch(PDO::FETCH_ASSOC)){
print_r($row); //show me all the array
$ht = $row['flota'];
$ie = $row['idequipo'];
$unir = "["."'"."$ht"."'".","."$ie"."]".",";
}
print_r($unir); //show me only la last data

最佳答案

问题是因为这一行:

$unir = "["."'"."$ht"."'".","."$ie"."]".",";
^ missing concatenation operator

for example I like the show in $unir this ['a',3],['a',2],['a',1], but only show ['a',1] ...

根据您的要求,执行以下操作:

$unir = "";

$equxflo = $DB_con->prepare("SELECT idequipo, CONCAT(equipo.nombre,' ',equipo.modelo,' ',equipo.marca,' ',equipo.serieplaca) AS flota FROM equipo WHERE idusuario = :idu ORDER BY idequipo DESC");
$equxflo->bindParam(":idu", $idu);

if ($equxflo->execute()) {
while ($row = $equxflo->fetch(PDO::FETCH_ASSOC)){
$ht = $row['flota'];
$ie = $row['idequipo'];
$unir .= "['" . $ht . "'," . $ie . "],";
}
print_r($unir);
}

更好的解决方案:

更好的解决方案是将 $unir 声明为数组,并将数据放入临时数组中,并在每次迭代中将其推送到 $unir 数组,如下所示:

$unir = array();

$equxflo = $DB_con->prepare("SELECT idequipo, CONCAT(equipo.nombre,' ',equipo.modelo,' ',equipo.marca,' ',equipo.serieplaca) AS flota FROM equipo WHERE idusuario = :idu ORDER BY idequipo DESC");
$equxflo->bindParam(':idu', $idu);

if ($equxflo->execute()) {
while ($row = $equxflo->fetch(PDO::FETCH_ASSOC)) {
$tmp_array = array($row['flota'], $row['idequipo']);
$unir[] = $tmp_array;
}
print_r($unir);
}

关于php - PDO 返回空结果 o 最后结果 Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35039509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com