Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Quando executo o login aparece esta mensagem:
Warning: mysql_num_rows() expects parameter 1 to be resource, string given in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\phpteste1\login.php on line 25
**Obs: **linha 25: $c = mysql_num_rows($selecionar);
<?php
class Sql{
public $host, $user, $pass, $query;
public function __construct(){
mysql_connect($this -> host = 'localhost', $this -> user = 'root', $this -> pass = '1234' );
mysql_select_db('cadastro');
}
public function query($qr){
$this -> query = mysql_query($qr);
return $this;
}
public function retornar(){
return $this -> query;
}
}
$sql = new sql;
$login = $_POST{'login'};
$pwd = $_POST{'senha'};
$selecionar = $sql -> query("SELECT * FROM USUARIO WHERE LOGIN = '$login' AND SENHA = '$pwd'");
$c = mysql_num_rows($selecionar);
if($c){
echo "logado";
}else{
echo "deslogado";
}
?>>
O método query() precisa retornar $this->query, para que o valor correto seja passado para mysql_num_rows()
PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/
>
O método query() precisa retornar $this->query, para que o valor correto seja passado para mysql_num_rows()
PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/
Como ficaria a linha?
Como ficaria a linha?
Não vai nem tentar fazer sozinho?
Assim fica difícil aprender...
É só retornar o que você quer:
return $this->query;
Dê uma lida neste tópico. Siga as dicas e orientações. Vai ajudar bastante
>
Não vai nem tentar fazer sozinho?
Assim fica difícil aprender...
É só retornar o que você quer:
return $this->query;
Dê uma lida neste tópico. Siga as dicas e orientações. Vai ajudar bastante
Tinha feito isso mas deu o erro: Parse error: syntax error, unexpected 'return' (T_RETURN) in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\phpteste1\login.php on line 24
$sql = new sql;
$login = $_POST{'login'};
$pwd = $_POST{'senha'};
$selecionar = $sql -> query("SELECT * FROM USUARIO WHERE LOGIN = '$login' AND SENHA = '$pwd'");
return $this -> query; --->linha 25
$c = mysql_num_rows($selecionar);
if($c){
echo "logado";
}else{
echo "deslogado";
}Não...
Apenas funções e métodos retornam valores. Eu disse pra você editar o retorno do método query:
public function query($qr)
{
$this->query = mysql_query($qr);
return $this->query;
}>
Não...
Apenas funções e métodos retornam valores. Eu disse pra você editar o retorno do método query:
public function query($qr)
{
$this->query = mysql_query($qr);
return $this->query;
}
Comecei a estudar php essa semana, obrigado pela atenção e paciência, vou seguir os seus conselhos e estudar os seus links :)
O método query() precisa retornar $this->query, para que o valor correto seja passado para mysql_num_rows()
PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/