Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alfredo B.

Erro Sistema De Cadastro de usuarios

Recommended Posts

Alguem sabe o porque desse erro? e como resolve-lo??

cadastrouser.php ----- http://pastebin.com/T1V7TyV9

formulario.php ----- http://pastebin.com/NyDbjbjG

conexão.php --- http://pastebin.com/ciM3hBSr

erro logo abaixo

Warning: include(lib/conexao.php): failed to open stream: No such file or directory in C:Program Files (x86)EasyPHP-DevServer-14.1VC11datalocalwebprojectsProjeto Weblibcadastrouser.phpon line 3

Warning
: include(): Failed opening 'lib/conexao.php' for inclusion (include_path='.;C:phppear') in C:Program Files (x86)EasyPHP-DevServer-14.1VC11datalocalwebprojectsProjeto Weblibcadastrouser.php on line 3

Deprecated
: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:Program Files (x86)EasyPHP-DevServer-14.1VC11datalocalwebprojectsProjeto Weblibcadastrouser.php on line 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

O primeiro erro é o diretório do arquivo que estar errado, verifique o caminho e se estar escrito corretamente.

 

O segundo eu não entendi direito mas vc pode da uma olhada nesse link -> http://stackoverflow.com/questions/62658/getting-pear-to-work-on-xampp-apache-mysql-stack-on-windows

 

Ja o terceiro é porq você estar usando mysql_query que ja estar obsoleta, então sera bom você usar ou msqli ou PDO. Eu recomendo o PDO.

 

Nesse site tem o basico do PDO para o CRUD -> http://www.devmedia.com.br/crud-com-php-pdo/28873

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui consertar o primeiro erro, mas agora ele está me mostrando esse erro

 

 

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line 2

Warning: mysql_connect(): in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line 2

Warning: mysql_connect(): in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line 2

Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line 3

Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os dois primeiros erros são falhas nos diretórios dos arquivos. Verifique se os diretórios existem e estão escritos corretamente. Procure utilizar o caminho absoluto também, caso prefira maior precisão nisso (exemplo de diretório absoluto: /home/nome_da_minha_conta/public_html/minha_pagina.php). Inserindo o caminho absoluto nos seus includes e requires esse tipo de erro vai desaparecer, além de outras vantagens.

 

O terceiro erro, o rapaz acima já respondeu. Acrescentando, PDO é mais complicado, porém mais rápido que mysqli ainda (uma diferença que nem se pode levar em consideração de tão mínima, mas é mais rápido). Já o mysqli_ é bastante completo também e extremamente simples de se trabalhar, principalmente pra quem já tem costume de usar o antigo mysql.

 

Vou deixar abaixo uma classe razoavelmente simples pra você usar o mysqli_ se quiser e uns exemplos também:

<?php
$host = "localhost";
$usuario = "root";
$senha = "";
$banco = "meu_db";
class Conexao extends mysqli {
    private static $_connected = false;
    private static $_instance = null;
    public function  __destruct() {
        $this->close();
    }
    public static function getInstance() {
        if (null === self::$_instance) {
            self::$_instance = new self ();
        }
        return self::$_instance;
    }
    public function connect() {
		global $host, $usuario, $senha, $banco;
        if(!self::$_connected) {
            parent::__construct(
                    $host,
                    $usuario,
                    $senha,
                    $banco
            );
            if(mysqli_connect_errno()) {
                throw new Exception('A Conexao falhou: '.mysqli_connect_error());
            }
            self::$_connected = true;
        }
    }
    public function close() {
 
        if(self::$_connected) {
            parent::close();
            self::$_connected = false;
        }
    }
    public function query($sql) {
        $this->connect();
        $result = parent::query($sql);
        if($result) {
            return $result;
        }
        else {
            throw new Exception('Query Exception: '.mysqli_error($this).' numero:'.mysqli_errno($this));
        }
    }
    public function ping() {
        if(@mysqli_ping($this)) {
            return true;
        }
        else {
            return false;
        }
    }
}

// SELECT SIMPLES EM UMA TABELA COM OS CAMPOS id E nome
try{
	$con = Conexao::getInstance();
	$res = $con->query("SELECT * FROM tabela");
	while($m=$res->fetch_array(MYSQLI_ASSOC)){
		echo $m["id"];
		echo "<hr>";
		echo $m["nome"];
	}
	
	// OBTÉM O TOTAL DE LINHAS SELECIONADAS
	$totalRegistros = $res->num_rows;
	
}catch(Exception $e){
	echo $e->getMessage();
}

// SELECT COMPLEXO EM UMA TABELA COM OS CAMPOS id E nome
try{
	$con = Conexao::getInstance();
	$res = $con->query("SELECT * FROM tabela WHERE id='1' ORDER BY nome ASC LIMIT 1,5");
	while($m=$res->fetch_array(MYSQLI_ASSOC)){
		echo $m["id"];
		echo "<hr>";
		echo $m["nome"];
	}
	$totalRegistros = $res->num_rows;
}catch(Exception $e){
	echo $e->getMessage();
}

// UPDATE EM UMA TABELA
try{
	$con = Conexao::getInstance();
	$res = $con->query("UPDATE tabela SET nome='Meu Nome' WHERE id='1'");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}

// DELETE EM UMA TABELA
try{
	$con = Conexao::getInstance();
	$res = $con->query("DELETE FROM tabela WHERE id='1'");
}catch(Exception $e){
	echo $e->getMessage();
}

/*
Além disso, você pode fazer quaisquer outras consultas normalmente, como faria no mysql_query antigo.
Este é o modo orientado a objetos, torna a conexão mais simples e confiável, além do método try{}catch(){}
que irá lhe avisar sobre quaisquer erros que tenham ocorrido na sua query. Desta forma, torna inútil e desnecessária
a utilização do OR DIE();
*/
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

E, antes que pergunte: sim, você é obrigado a trocar o seu mysql_ pelo mysqli_ ou PDO, senão simplesmente nada vai funcionar nas suas páginas. Como diz o próprio erro: A extensão mysql_ está depreciada e será removida no PHP 7 e posteriores, utilize mysqli_ ou PDO em vez disso.

 

Uma outra observação também é que você não é obrigado a instanciar a conexão toda vez que for fazer uma query, pode fazer isso uma só vez, mesmo fora do try catch, assim:

<?php
$con = Conexao::getInstance();

// SELECT COMPLEXO EM UMA TABELA COM OS CAMPOS id E nome
try{
	$res = $con->query("SELECT * FROM tabela WHERE id='1' ORDER BY nome ASC LIMIT 1,5");
	while($m=$res->fetch_array(MYSQLI_ASSOC)){
		echo $m["id"];
		echo "<hr>";
		echo $m["nome"];
	}
	$totalRegistros = $res->num_rows;
}catch(Exception $e){
	echo $e->getMessage();
}

// UPDATE EM UMA TABELA
try{
	$res = $con->query("UPDATE tabela SET nome='Meu Nome' WHERE id='1'");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}

// DELETE EM UMA TABELA
try{
	$res = $con->query("DELETE FROM tabela WHERE id='1'");
}catch(Exception $e){
	echo $e->getMessage();
}
?>

Isso também funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sou muito ruim com PhP não entendi praticamente nada do seu codigo kkkkkkk, você pode traduzir o codigo meu que está lá em cima para o MySQLI ou PDO de uma forma que funcione? to quebrando a cabeça com isso a dias, antigamente era mais facil agora tá foda viu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu atualizei o codigo, não sei se está certo, ou o que está errado mas ele retornou um erro pra mim

 

conexão.php

<?php
$host = "http://127.0.0.1:8888/modules/phpmyadmin414x151009205647";
$usuario = "root";
$senha = "";
$banco = "amarenaacai";
class Conexao extends mysqli {
    private static $_connected = false;
    private static $_instance = null;
    public function  __destruct() {
        $this->close();
    }
    public static function getInstance() {
        if (null === self::$_instance) {
            self::$_instance = new self ();
        }
        return self::$_instance;
    }
    public function connect() {
		global $host, $usuario, $senha, $banco;
        if(!self::$_connected) {
            parent::__construct(
                    $host,
                    $usuario,
                    $senha,
                    $banco
            );
            if(mysqli_connect_errno()) {
                throw new Exception('A Conexao falhou: '.mysqli_connect_error());
            }
            self::$_connected = true;
        }
    }
    public function close() {
 
        if(self::$_connected) {
            parent::close();
            self::$_connected = false;
        }
    }
    public function query($sql) {
        $this->connect();
        $result = parent::query($sql);
        if($result) {
            return $result;
        }
        else {
            throw new Exception('Query Exception: '.mysqli_error($this).' numero:'.mysqli_errno($this));
        }
    }
    public function ping() {
        if(@mysqli_ping($this)) {
            return true;
        }
        else {
            return false;
        }
    }
}

cadastrouser.php


				
                
          <?php
		  
		  try{
	$con = Conexao::getInstance();
	$res = $con->query("INSERT INTO usuarios (nome, email, senha, nascimento, telefone, endereco) 									                     values
					
					 ('".$_POST['nome']."','".$_POST['email']."','".$_POST['senha']."','".$_POST['nascimento']."','".$_POST['telefone']."','".$_POST['endereco']."',)");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}
		  
		  ?>

ele retornou esse erro pra mim

 

Fatal error: Class 'Conexao' not found in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo eu não mexo muito com classe.

 

Faça um arquivo php, cole esse script e configure de acordo.

<?php
$servidor = 'localhost';
$usuario = 'root';
$senha = '';
$banco = '';
// Conecta-se ao banco de dados MySQL
$mysqli = new mysqli($servidor, $usuario, $senha, $banco);
// Caso algo tenha dado errado, exibe uma mensagem de erro
if (mysqli_connect_errno()) trigger_error(mysqli_connect_error());

Depois é so incluir ele onde vc quiser fazer conexão.

 

Ou use o link de conexão diretamente.

$con= new mysqli('localhost', 'root', '', 'mydb');

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu fiz dessa forma e continua dando erro

 

Warning: mysqli::mysqli(): in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line 7

Warning: mysqli::mysqli(): in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line 7

Notice: php_network_getaddresses: getaddrinfo failed: Este host n�o � conhecido. in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line9

Notice: Undefined variable: con in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 7

Fatal error: Call to a member function query() on a non-object in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 7

 

 

conexao.php

<?php
$servidor = 'http://127.0.0.1:8888/modules/phpmyadmin414x151009205647';
$usuario = 'root';
$senha = '';
$banco = 'amarenaacai';
// Conecta-se ao banco de dados MySQL
$mysqli = new mysqli($servidor, $usuario, $senha, $banco);
// Caso algo tenha dado errado, exibe uma mensagem de erro
if (mysqli_connect_errno()) trigger_error(mysqli_connect_error());

?>

cadastrouser.php

				
                
          <?php
			include "conexao.php";
		  try{

	$res = $con->query("INSERT INTO usuarios (nome, email, senha, nascimento, telefone, endereco) 									                     values
					
					 ('".$_POST['nome']."','".$_POST['email']."','".$_POST['senha']."','".$_POST['nascimento']."','".$_POST['telefone']."','".$_POST['endereco']."',)");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}
		  
		  ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo usa desse jeito aqui e me fiz o que retorna. Não esquece de configura.

<?php
		  
		  try{
	$con = new mysqli('localhost', 'root', '', 'bd');
	$res = $con->query("INSERT INTO usuarios (nome, email, senha, nascimento, telefone, endereco) 									                     values
					
					 ('".$_POST['nome']."','".$_POST['email']."','".$_POST['senha']."','".$_POST['nascimento']."','".$_POST['telefone']."','".$_POST['endereco']."',)");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}
		  
		  ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja o erro que ele te retornou. Basta que você faça um include() ou require(), require_once(), include_once(), o que quiser na sua página cadastrouser.php e o problema vai deixar de existir. Recomendo grandemente que use a classe que te enviei, é extremamente simples e os disparos de erros estão bem trabalhados nela. Acredite, vai facilitar a sua vida depois que aprender a usar e vale o esforço.

 

Coloque a página conexao.php na mesma pasta que a cadastrouser.php e insira exatamente isso na primeira linha do seu código: require_once("conexao.php");

 

Eu atualizei o codigo, não sei se está certo, ou o que está errado mas ele retornou um erro pra mim

 

conexão.php

<?php
$host = "http://127.0.0.1:8888/modules/phpmyadmin414x151009205647";
$usuario = "root";
$senha = "";
$banco = "amarenaacai";
class Conexao extends mysqli {
    private static $_connected = false;
    private static $_instance = null;
    public function  __destruct() {
        $this->close();
    }
    public static function getInstance() {
        if (null === self::$_instance) {
            self::$_instance = new self ();
        }
        return self::$_instance;
    }
    public function connect() {
		global $host, $usuario, $senha, $banco;
        if(!self::$_connected) {
            parent::__construct(
                    $host,
                    $usuario,
                    $senha,
                    $banco
            );
            if(mysqli_connect_errno()) {
                throw new Exception('A Conexao falhou: '.mysqli_connect_error());
            }
            self::$_connected = true;
        }
    }
    public function close() {
 
        if(self::$_connected) {
            parent::close();
            self::$_connected = false;
        }
    }
    public function query($sql) {
        $this->connect();
        $result = parent::query($sql);
        if($result) {
            return $result;
        }
        else {
            throw new Exception('Query Exception: '.mysqli_error($this).' numero:'.mysqli_errno($this));
        }
    }
    public function ping() {
        if(@mysqli_ping($this)) {
            return true;
        }
        else {
            return false;
        }
    }
}

cadastrouser.php


				
                
          <?php
		  
		  try{
	$con = Conexao::getInstance();
	$res = $con->query("INSERT INTO usuarios (nome, email, senha, nascimento, telefone, endereco) 									                     values
					
					 ('".$_POST['nome']."','".$_POST['email']."','".$_POST['senha']."','".$_POST['nascimento']."','".$_POST['telefone']."','".$_POST['endereco']."',)");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}
		  
		  ?>

ele retornou esse erro pra mim

 

Fatal error: Class 'Conexao' not found in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Amigo usa desse jeito aqui e me fiz o que retorna. Não esquece de configura.

<?php
		  
		  try{
	$con = new mysqli('localhost', 'root', '', 'bd');
	$res = $con->query("INSERT INTO usuarios (nome, email, senha, nascimento, telefone, endereco) 									                     values
					
					 ('".$_POST['nome']."','".$_POST['email']."','".$_POST['senha']."','".$_POST['nascimento']."','".$_POST['telefone']."','".$_POST['endereco']."',)");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}
		  
		  ?>

eu fiz da forma que você mostrou acima e ai o arquivo conexao.php deixou de existir, ficou só o cadastrouser.php

e ele deu esse erro agora...

 

Warning: mysqli::mysqli(): in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 4

 

Warning: mysqli::query(): Couldn't fetch mysqli in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 7

 

Notice: Trying to get property of non-object in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 9

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste o código desse jeito aqui:

<?php
require_once("conexao.php");
try{
	$con         = Conexao::getInstance();
	$nome        = $_POST["nome"];
	$email       = $_POST["email"];
	$senha       = $_POST["senha"];
	$nascimento  = $_POST["nascimento"];
	$telefone    = $_POST["telefone"];
	$endereco    = $_POST["endereco"];
	
	$campos      = "nome, email, senha, nascimento, telefone, endereco";
	$valores     = "'$nome', '$email', '$senha', '$nascimento', '$telefone', '$endereco'";
	$query       = "INSERT INTO usuarios (".$campos.") VALUES(".$valores.")";
	
	$res = $con->query($query);
	
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}
?>

Coloque a página conexao.php na mesma pasta que a cadastrouser.php. Vale lembrar que esse código aqui é pra usar com a classe que te passei anteriormente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste o código desse jeito aqui:

<?phprequire_once("conexao.php");try{	$con         = Conexao::getInstance();	$nome        = $_POST["nome"];	$email       = $_POST["email"];	$senha       = $_POST["senha"];	$nascimento  = $_POST["nascimento"];	$telefone    = $_POST["telefone"];	$endereco    = $_POST["endereco"];		$campos      = "nome, email, senha, nascimento, telefone, endereco";	$valores     = "'$nome', '$email', '$senha', '$nascimento', '$telefone', '$endereco'";	$query       = "INSERT INTO usuarios (".$campos.") VALUES(".$valores.")";		$res = $con->query($query);		// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE	$totalLinhasAfetadas = $res->affected_rows;}catch(Exception $e){	echo $e->getMessage();}?>

Coloque a página conexao.php na mesma pasta que a cadastrouser.php. Vale lembrar que esse código aqui é pra usar com a classe que te passei anteriormente.

 

 

 

agora deu esse erro

 

 

Strict Standards: Declaration of Conexao::connect() should be compatible with mysqli::connect($host = NULL, $user = NULL, $password = NULL, $database = NULL, $port = NULL, $socket = NULL) in[/size]C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line [/size]58

[/size]

Warning: mysqli::mysqli(): in [/size]C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line [/size]26

 

Warning: mysqli::mysqli(): in [/size]C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line [/size]26

A Conexao falhou: php_network_getaddresses: getaddrinfo failed: Este host n�o � conhecido.[/size]

 

 

to achando que o problema tá no servidor do PhpMyAdmin vou tentar upar em algum host pra ver se funciona[/size]

 

tentei em outro host e mesmo assim da o mesmo erro não to entendendo.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Das duas, uma: ou a versão do seu PHP é incompatível, ou o seu host não funciona direito. Esse é o código que uso em 70% dos sites que administro, e é uma quantidade bastante razoável de sites. Em nenhum dá esse problema, todos rodam a versão 5.3 ou 5.5 nativa do PHP.

 

Mas repara em uma coisa:

 

 

trict Standards: Declaration of Conexao::connect() should be compatible with mysqli::connect($host = NULL, $user = NULL, $password = NULL, $database = NULL, $port = NULL, $socket = NULL)

Esse erro diz que o host, user, password, database, port e socket estão indo vazios pra sua conexão. Você tá tentando rodar esse script em qual hospedagem? Ou é sem servidor local?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então antes ele estava local agora eu hospedei ele e deu esse erro

 

A Conexao falhou: Access denied for user '1027537'@'localhost' (using password: YES)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então antes ele estava local agora eu hospedei ele e deu esse erro

 

A Conexao falhou: Access denied for user '1027537'@'localhost' (using password: YES)

 

Erro de parâmetro.

 

Verifique o host, user, password e banco de dados no seu site de hospedagem.

 

Quando tiver duvida crie um topico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Tudo bem pessoal?
       
      No código abaixo, estou fazendo uma consulta nas tabelas, banners e banners_referencia
      Meu objetivo é trazer resultados com valores iguais ao nome da cidade declarada na $cidade ou resultados com a referencia Total.
      O problema é que está trazendo todos os resultados. Tenho 10 linhas, 1 com o nome da cidade e duas com o valor Total, então o resultado teria que ser de apenas 3 linhas, mas mostra tudo.
       
      $banner = "SELECT A.*, B.* FROM banners A, banners_referencia B WHERE B.cod_referencia = A.cod_referencia AND A.cidade = '$cidade' OR B.referencia = 'Total' ORDER BY RAND()";
      $banner = mysqli_query($conexao, $banner) or die ("Banner não encontrado");
      while($busca= mysqli_fetch_array($banner)){
          print $busca['cidade'].'<br>';
      };
       
      Alguém consegue me ajudar?
    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.