Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 271
Sexo: Masculino

mysqli_fetch_array

03-08-2016 08:23

web tenho o erro na query a vermelho...: erro: Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result,


ligar a base de dados

<?php
//1ª opção - ligar a base de dados com MySQLi
$servidor = 'localhost';
$utilizador = 'root';
$password = '';
$base_dados = 'teste';

$ligacao = new MySQLi($servidor,$utilizador,$password,$base_dados);

?>




query

$query = "SELECT COUNT(*) AS cntpost FROM like_unlike WHERE postid=".$postid." and userid=".$userid." ";

$result = mysqli_query($ligacao,$query);
$fetchdata = mysqli_fetch_array($ligacao,$query);
$count = $fetchdata['cntpost'];


ja tentei varias hipoteses de tirar $ligacao, etc e o erro é sempre o mesmo....poderá me ajudar?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: mysqli_fetch_array

03-08-2016 08:42

O ideal é sempre usar o or die()

$result = mysqli_query($ligacao,$query) or die(mysqli_error());

De onde vem $postid e $userid? Não estão definidos no código que você postou.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 271
Sexo: Masculino

Re: mysqli_fetch_array

03-08-2016 10:22

o $postid e $userid estão definidos aqui, nao tinha posto, pois julgava nao ser essencial...


$userid = 5;
$postid = $_POST['postid'];

$type = $_POST['type'];

// Check entry within table
$query = "SELECT COUNT(*) AS cntpost FROM like_unlike WHERE postid=".$postid." and userid=".$userid." ";

$result = mysqli_query($ligacao,$query) or die(mysqli_error());
$fetchdata = mysqli_fetch_array($ligacao,$query);
$count = $fetchdata['cntpost'];

adicionei o or die(mysqli_error()); , mas o erro aparece o mesmo: Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\wamp\www\vota_like_ou_unlike\votar.php on line 12


a linha 12 é a tal... :
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: mysqli_fetch_array  #resolvido

03-08-2016 11:24

Talvez seja a concatenação dos valores. Tenta assim:

$query = "SELECT COUNT(*) AS cntpost FROM like_unlike WHERE postid='".$postid."' and userid='".$userid."' ";

Caso não funcione você pode tentar esse modelo

<?php $con=mysqli_connect("localhost","my_user","my_password","my_db"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } // Perform queries mysqli_query($con,"SELECT * FROM Persons"); mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age) VALUES ('Glenn','Quagmire',33)"); mysqli_close($con); ?>

Fonte; http://www.w3schools.com/php/func_mysqli_query.asp
1
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 271
Sexo: Masculino

Re: mysqli_fetch_array

03-08-2016 12:03

o meu script esta bom, uso-o sempre desta forma e apartit de agora vou ter atenção a duas coisas importantes:

concatenação : ' ".$userid." '

e

ponto virgula nestes casos: <?php echo $variavel ; ?>
1

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado