gpt4 book ai didi

php - 如何在一组动态选择中构建mysql的bind_param()?

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

我必须为每个不同的可能结果生成不同的 sql SELECT 语句。我的问题是如何构建 $stmt->bind_param() 以及如何输出结果?谢谢

      $tipoCategorias = array(
1 => 'ID_CAMARAS,ID_PRODUCTOS_OFERTADOS,ID_CATEGORIA,MEGAPIXELES_CAMARAS,ZOOM_DIGITAL_CAMARAS FROM CAMARAS',
2 => 'ID_CONSOLAS,ID_PRODUCTOS_OFERTADOS,ID_CATEGORIA,COLOR_CONSOLAS FROM CONSOLAS',
3 => 'ID_JOYAS,ID_PRODUCTOS_OFERTADOS,ID_CATEGORIA,TIPO_JOYAS,MATERIAL_JOYAS FROM JOYAS',
4 => 'ID_MOVILES,ID_PRODUCTOS_OFERTADOS,ID_CATEGORIA,ID_OPERADOR,MEMORIA_MOVILES,IMEI_MOVILES,COLOR_MOVILES FROM MOVILES',
5 => 'ID_ORDENADORES,ID_PRODUCTOS_OFERTADOS,ID_CATEGORIA,PROCESADOR_PORTATILES,MEMORIA_PORTATILES,HD_PORTATILES,PULGADAS_PORTATILES FROM PORTATILES',
6 => 'ID_TABLETS,ID_PRODUCTOS_OFERTADOS,ID_CATEGORIA,MEMORIA_TABLETS,COLOR_TABLETS FROM TABLETS');
foreach($tipoCategorias as $keycampos => $valuecampos){
if($keycampos==$id_categoria){

$cSQL="SELECT " . $valuecampos . " WHERE ID_CATEGORIA=? AND ID_PRODUCTOS_OFERTADOS=?";
$stmt=$oConni->prepare($cSQL);
$stmt->bind_param('ii',$id_categoria,$id_prod_of);
$stmt->execute();
$stmt->store_result();
/* here --> $stmt->bind_result(¿?); */
$str=null;
while ($stmt->fetch()) {

/*$str.= Anything to output;*/

}
echo $str;
}

}

最佳答案

您可以使用call_user_func_array使用可变数量的参数调用 $stmt->bind_param 。另请参阅Callable定义。

绑定(bind)结果可以使用 references以同样的方式到输出变量。

示例:

$params = array("iii", $a, $b, $c);
call_user_func_array(array($stmt, "bind_param"), $params);

$a = 0;
$b = 0;
$result = array(&$a, &$b);
call_user_func_array(array($stmt, "bind_result"), $result);

关于php - 如何在一组动态选择中构建mysql的bind_param()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19974120/

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