Estimad@s, у меня есть следующий код и я нуждаюсь в том, чтобы показать эти данные на экране. Случается, что этот ассоциативный array (уже я пробовал с другими и также оно не функционирует) он показывает мне все данные как string и в основании переменные: Цена, Датируй и cod_art они в float, восходите и int соответственно. Я могу меняться в базе данных для того, чтобы все было string как временное решение (я учусь), но мне хотелось бы изучать делать превращение типов в этом случае. Уже я сосредоточился на учебнике php и с функциями, которые они могут помогать конвертировать, но не функционируют.
<?php
try{
$base = new PDO ("mysql:host=localhost; dbname=brenda_praktikum", "brenda", "hlRgJNJZzd6V7JPYgm68");
//por si hay algún error en la conexión uso exception y errmode
$base->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$base->exec("set character set utf8");
$query = "SELECT Секция, Статья, País_de_Origen, Цена, Датирует, cod_art FROM статьи where Секция = 'спорт'";
$result=$base->prepare($query);
$result->execute(array());
$precio=['Precio'];
$fecha=['Fecha'];
$cod_art=['cod_art'];
$precio= ['Precio'];
while ($register=$result->fetch(PDO::FETCH_ASSOC)){
echo " Sección: ".$register['Sección'].
" Artículo: ". $register['Artículo'].
" País: ".$register['País_de_Origen'].
" Precio: ".$register['Precio'].
" Fecha: ".$register['Fecha'].
" cod_art: ".$register['cod_art']. "<br>";
}
$result->closeCursor();
}catch (Exception $e){
echo "Linea ". $e->getLine();
echo $e->getMessage();
}
?>
Чтобы конвертировать тип, sГіlo ты должен помещать тип между parГ©ntesis перед стоимостью. Например:
$tipoFloat = (float) "10.77";
var_dump($tipoFloat);
Полученные
float(10.77)
AquГ - $tipoFloat
serГЎ переменная типа float
со стоимостью, показанной в $valor
.
, Если в тебе cГіdigo ты хочешь конвертировать какого-либо из данных, полученных от базы данных в algГєn тип, ты можешь делать то же самое.
мы Будем применять это в cГіdigo, вводя ademГЎs какой-то прогресс:
ATTR_EMULATE_PREPARES
в FALSE
. Он это предотвращает готовить состязавшиеся консультации, которые в каких-то сценах могут заканчиваться в inyecciГіn cГіdigo. query
. $precio=['Precio']
и т.д., потому что не sГ©, что hacГ-an ahГ, - это ничего не делает. Например:
try{
$options = array(
PDO::ATTR_EMULATE_PREPARES => FALSE,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
);
$base = new PDO ("mysql:host=localhost; dbname=brenda_praktikum;charset=utf8", "brenda", "hlRgJNJZzd6V7JPYgm68",$options);
$query="SELECT Sección, Artículo, País_de_Origen, Precio, Fecha, cod_art FROM articulos where Sección= 'deporte'";
$result=$base->query($query);
while ($register=$result->fetch(PDO::FETCH_ASSOC)){
#Guardamos los datos en variables para que sea más clara la conversión de tipos
$seccion=$register['Sección'];
$articulo=$register['Artículo'];
$pais=$register['País_de_Origen'];
$precio=(float) $register['Precio']; #Declarada del tipo float
$fecha=$register['Fecha'];
$cod_art=(float) $register['cod_art']; #Declarada del tipo float
echo " Sección: $seccion Artículo: $articulo País: $pais Precio: $precio Fecha: $fecha cod_art: $cod_art <br />";
}
$result->closeCursor();
}catch (Exception $e){
echo "Linea ". $e->getLine();
echo $e->getMessage();
}
while
и потом внутри цикла наполнять array. Например:$datos=array(); while ($register=$result->fetch(PDO::FETCH_ASSOC)){ $datos[]=$register; } //usar $datos
Ahí tendrí схвати в$datos
все линии в форме array ассоциативно. – A. Cedano 08.11.2019, 15:20