Criar uma função com Mysqli passando parametros php 7.xx

1. Criar uma função com Mysqli passando parametros php 7.xx

Antonio Cesario
zurczurc

(usa Debian)

Enviado em 09/05/2018 - 09:03h

Ola caros colegas, antes de mais nada agradeço ajuda de todos.
Meu problema é criei uma função, para ler dados do mysql e ela funciona perfeitamente no php 5.6. Nessa semana tive que atualizar para o php 7.1 e estou enfrentando problemas.
A minha função não da erro, mas também não retorna mais o valor do mysql.

função :

function pega_dados_mysql($bancodedados, $coluna_tabela, $tabela)
{

$con = @mysqli_connect('localhost', 'root', 'xxxxxxxxxx', $bancodedados);

if (!$con) {
echo "Error: " . mysqli_connect_error();
exit();
}

$sql = 'SELECT {$coluna_tabela} FROM {$tabela} ORDER BY ComputerTime Desc LIMIT 1';
$query = mysqli_query($con, $sql);
$row = mysqli_fetch_array($query);

return $row[0];
}

chamada da função passando parâmetros :
$RM1 = pega_dados_mysql(fhchoi_com_br,Temperature,TempHumid);
echo "$RM1";

Não retorna nada !!! O problema são as variáveis, quando coloco o o nome do banco de dados, tabela e campo diretamente no select a função retorna os valores correto, mas com as variáveis não funciona.

Poderiam me ajudar ? Obrigado.



  


2. Aspas simples

Vinícius Moura e Silva
Vinicinho052

(usa Ubuntu)

Enviado em 13/05/2018 - 11:10h

Fiz um teste aqui e nessa linha não pode ser aspas simples.

$sql = "SELECT {$coluna_tabela} FROM {$tabela} WHERE id = 1"; 


Conseguir obter resultados com esse código:

<?php 
ini_set('display_errors', 1);
function pega_dados_mysql($bancodedados, $coluna_tabela, $tabela)
{

$con = mysqli_connect('localhost', 'vini', 'HHHHHH', $bancodedados);

if (!$con) {
echo "Error: " . mysqli_connect_error();
exit();
}

$sql = "SELECT {$coluna_tabela} FROM {$tabela} WHERE id = 1";
print $sql;
$query = mysqli_query($con, $sql);
$row = mysqli_fetch_array($query);

return $row[0];
}

#chamada da função passando parâmetros :
$RM1 = pega_dados_mysql('controleFinanceiro','email','usuarios');
echo "$RM1";


O erro que obtive com seu código inicial foi:

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /home/viniciusmoura/Documentos/teste_vol_resposta.php on line 16 


Pode ser legal ativar diretivas para mostrar erros do PHP no início do Script:

error_reporting(E_ALL) 

ini_set('display_errors', 1); 



3. Re: Criar uma função com Mysqli passando parametros php 7.xx

Bruno Thomaz
SarusKant

(usa CentOS)

Enviado em 13/05/2018 - 22:48h

$sql = "SELECT " . $coluna_tabela . " FROM " . $tabela . " WHERE id = 1"; 


Conselho, sempre separe variáveis de strings,
Concatene utilizando ponto. MySQL utiliza aspas simples para passar strings e para passar nomes de campos e tabelas utilize ` para evitar problemas.
Ex. `table`

Att.
--
Bruno Thomaz


4. Re: Criar uma função com Mysqli passando parametros php 7.xx

Bruno Thomaz
SarusKant

(usa CentOS)

Enviado em 15/05/2018 - 11:25h


function mysql_pconnect ( $host, $user, $pass) {
return mysqli_connect ( $host, $user, $pass) ;
}

function mysql_select_db ( $conn, $db ) {
return mysqli_select_db ( $conn, $db);
}

function mysql_query ( $conn, $query ) {
return mysqli_query ($conn, $query);
}

--
Bruno Thomaz






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts