Ir para conteúdo

Arquivado

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

TeixeiraRamos

PHP Fatal error

Recommended Posts

Estou estudando PHP, meu banco de dados está em MySQL.

O código PHP que interagem com MySQL é o seguinte:

<?PHP
	#Dados para a conexão com o banco de dados
	$servidor = 'localhost';  # Nome DNS ou IP do seu servidor HTTP
	$usuario  = 'root';       # Nome do usuário para acessar ao MySQL
	$senha    = 'admin';	  # Senha de acesso
	$banco    = 'INTEGRACAO'; # Nome do banco de dados
	
	# Executa a conexão com MySQL
	$link = mysql_connect($Servidor, $usuario, $senha)
		or die('Não foi possível conectar: ' . mysql_error());
		
	# Seleciona o banco de dados que deseja utilizar
	$select = mysql_select_db($banco);
	
	# Cria a expressão SQL de consulta aos registros
	$sql = "SELECT * FROM LIVROS";
?>
<html>
	<table border="1">
    	<tr>
         	<td>Cód.</td>
            <td>Livro</td>
            <td>Autor</td>
            <td>Editora</td>
        </tr>
<?
	#Exibir os resultados de novidades e notícias
	$result = mysql_query($sql);
	while ($tbl = mysql_fetch_array($result))
	{
		$Codigo  = $tbl["ID"];
		$Livro   = $tbl["LIVRO"];
		$Autor   = $tbl["AUTOR"];
		$Editora = $tbl["EDITORA"];
		
		echo "<tr>";
		echo "<td>$Codigo</td>";
        echo "<td>$Livro</td>";
        echo "<td>$Autor</td>";
        echo "<td>$Editora</td>";
        echo "<tr>";
}
?>

</table>
<br /><A href="inserir.php">Clique aqui para inserir um novo registro.</A>

</html>

Ao executar mostra o seguinte erro:

Citar

PHP Fatal error:  Call to undefined function mysql_connect() in C:\inetpub\wwwroot\Livro MySQL Guia do Programador\lista.php on line 9

 

No caso a linha 9 é:

 

Citar

# Executa a conexão com MySQL
    $link = mysql_connect($Servidor, $usuario, $senha)
        or die('Não foi possível conectar: ' . mysql_error());

 

Tenho instalado na minha máquina o "Apache2.2", um servidor HTTP com PHP instalado, e fiz os procedimentos de praxe.

Obrigado

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente você está utilizando PHP7, e a extensão mysql_* foi removida. Você só tem duas opções, utilizar MySQLi ou PDO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve, salve, Osmar L Lima e Alaerte Gabriel,

Primeiro, muito obrigado pela atenção.

Como já informei tenho instalado na minha máquina o "Apache2.2", "SQLyog - 32 bit" e funcionando tenho páginas em ASP que interagem com MySQL. Essa interação ocorre com tabelas e recentemente aprendi criar formulários HTML com as funcionalidades de inserção, edição, exclusão e listagem. Esses aplicações são do livro  "MySQL - Guia do Programador - André Milani". Nesse mesmo livro tem também  exercícios com linguagem PHP com MySQL.

Ocorre que antes de ter um problema de saúde estava estudando através do livro "Faça um Site - PHP5.2 com MySQL5.0 Comercio Eletronico -  Carlos A.J.Oliveira. Lembro que fiz todos os procedimentos para cria páginas com PHP (ou melhor acho).  Porém, fui obrigado parar os estudos de PHP.

Agora para reiniciar estou perdido. Tenho uma pasta em C:/PHP5, mas acredito que falta alguma coisa.

Lembro que copiei o arquivo libmysql.dll que está instalado C:\windows\system32, editei o arquivo php.ini ...retirei o ' ; ' da linha extension=php_mysql.dll, copiei os arquivo php5ts.dll e libmysql.dll que estão no diretório do PHP para system32. Mas não estou conseguindo êxito para iniciar os estudos de PHP.

Salvo o melhor juízo, já li algo que não tem problema em usar ASP com MySQL, PHP com MySQL na mesma máquina não tenho certeza. 

Desculpe, essa explicações, mas tentei isso:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

</head>

<body>

<?php
$version = apache_get_version();
echo "$version\n";
?>

</body>
</html>

Resultado:

 

Citar

PHP Fatal error:  Call to undefined function apache_get_version() in C:\inetpub\wwwroot\php_meus_estudos\qual_versao.php on line 12

     

Tentei isso também:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Variáveis</title>
</head>
<body>
<?php
$variavel_01 = "Sou a variavel 01";
$variavel_02 = "Sou a variavel 02";

echo $variavel_01; 
echo "<br>";
echo $variavel_02;
?>

</body>
</html>

Resultado:

Citar

Sou a variavel 01
Sou a variavel 02

 

Tentei:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mais variaveis com outros nome</title>
</head>
<body>
<?php
$meu_primeiro_carro = "Monza";
$minha_primeira_moto = "Titan";
echo $meu_primeiro_carro;
echo "<br>";
echo $minha_primeira_moto;
?>
</body>
</html>

Resultado:

 

Citar

Monza
Titan

 

No meu modo de ver esses testes não podem afirmar que o meu PHP está funcionado. Correto?

Obrigado

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve, salve Alaerte Gabriel.

Digitei isso:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sugestão do forum imasters - Alaerte Gabriel </title>
</head>

<body>

<?php

phpinfo();

?>
</body>
</html>

Resultado

 

Citar

PHP Warning:  phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in C:\inetpub\wwwroot\php_meus_estudos\teste_pedido_forum.php on line 11

 

Estou com medo, mas a vontade é maior de aprender.

 

 

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí ! Medo de que homem ?!

 

Então, seguinte, no seu php.ini tem uma instrução que é a zona padrão de hora e data por localidade, é preciso defini-la como America/Sao_Paulo ou de acordo com sua região.

 

Procure o php.ini dentro da pasta do seu PHP e  procure pela linha:

 

; http://php.net/date.timezone
;date.timezone = 

Você vai retirar o ponto e vírgula do início da instrução date.timezone. Isso faz com que a instrução seja habilitada tá ? feito isso adicione America/Sao_Paulo

Então ficaria assim:
 

; http://php.net/date.timezone
date.timezone = "America/Sao_Paulo"

Feito isso reinicie o apache e teste novamente.

Só apareceu esse warning e nada mais ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, para aquela página só apareceu aquela warning.

Ficou assim:

Citar

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

[Date]
; Defines the default timezone used by the date functions
date.timezone = "America/Sao_Paulo"

Não tem:

Citar

http://php.net/date.timezone

 

Medo é achando que não vou conseguir trabalhe com PHP.

Mas é bobagem minha. Bola pra frete!

Valeu!

Com a sua sugestão agora mudou. Aprece uma grande lista iniciando com:

 

Citar

PHP Version 5.4.45

 

System Windows NT COMPUTADOR01 6.1 build 7601 (Windows 7 Business Edition Service Pack 1) i586
Build Date Sep 2 2015 23:45:20
Compiler MSVC9 (Visual C++ 2008)
Architecture x86
Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=C:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=C:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8-11g=C:\php-sdk\oracle\instantclient11\sdk,shared" "--with-enchant=shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--disable-static-analyze" "--with-pgo"
Server API CGI/FastCGI
Virtual Directory Support disabled
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File C:\PHP5\php.ini
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
PHP API 20100412
PHP Extension 20100525
Zend Extension 220100525
Zend Extension Build API220100525,NTS,VC9
PHP Extension Build API20100525,NTS,VC9
Debug Build no
Thread Safety disabled
Zend Signal Handling disabled
Zend Memory Manager enabled
Zend Multibyte Support disabled
IPv6 Support enabled
DTrace Support disabled
Registered PHP Streams php, file, glob, data, http, ftp, zip, compress.zlib, phar
Registered Stream Socket Transports tcp, udp
Registered Stream Filters convert.iconv.*, mcrypt.*, mdecrypt.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, zlib.*

 

Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

 


PHP Credits


Configuration

bcmath

BCMath support enabled

 

Directive Local Value Master Value
bcmath.scale 0 0

 

calendar

Calendar support enabled
   

Vou tentar com criar uma conexão. Tentei uma da internet mudei algumas coisas mas mostra erro:

 

Código de conexão:

<?php
/**
 * PHP e MySQL para iniciantes
 *
 * Arquivo que faz a conexão com o banco de dados utilizando MySQLi
 *
 * PHP 5+, MySQL 4.1+
 *
 * @author Thiago Belem <contato@thiagobelem.net>
 * @link /mysql/php-e-mysql-para-iniciantes-consulta-simples/
 */
// Dados de acesso ao servidor MySQL
$MySQL = array(
  'servidor' => 'localhost',  // Endereço do servidor
  'usuario' => 'root',    // Usuário
  'senha' => 'admin',        // Senha
  'banco' => 'empresaabc'    // Nome do banco de dados
);
$MySQLi = new MySQLi($MySQL['servidor'], $MySQL['usuario'], $MySQL['senha'], $MySQL['banco']);
// Verifica se ocorreu um erro e exibe a mensagem de erro
if (mysqli_connect_errno())
    trigger_error(mysqli_connect_error(), E_USER_ERROR);

Resultado. Erro:

Citar

PHP Fatal error:  Call to undefined function apache_get_version() in C:\inetpub\wwwroot\php_meus_estudos\qual_versao.php on line 12

 

Alaerte, obrigado pela sua atenção. Se eu demorar a abrir não é falta de interesse é que a minha mãe com 100 anos e 8 meses

as vezes fica me chamando ai tenho que sair ficar do lado dela.

Valeu por tudo.

 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito estranho. Não vejo nas informações do seu php que o mysql está configurado, tão pouco o PDO. Você instalou o mysql para se comunicar com o php corretamente ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa mensagem:
 

Citar

Call to undefined function apache_get_version() in C:\inetpub\wwwroot\php_meus_estudos\qual_versao.php on line 12

 

está dando erro pq se entendi bem é 1 função p/ retornar informações do Apache, mas essa pg php está numa pasta do IIS - que é 1 outro servidor web.. na verdade PHP funciona ok no IIS, nem é obrigatório instalar o apache; eu simplesmente apagaria essa função...

 

extensões a bancos de dados (mysql, mysqli,PDO)
em PHP normalmente devem ser habilitadas (ou ativadas) manualmente;
seu phpinfo() não mostrou nenhuma delas - as funções mysql (mysql_connect, por exemplo), no entanto estão obsoletas (não devem ser usadas no código) - portanto,cuidado com material desatualizado - há muito p/ ai....

 

Mysql no windows era melhor ser instalado como serviço, ser iniciado automaticamente e deve ter uma porta do firewall liberada (padrão: 3306); convém verificar..

 

ET:  testei esse código:

Citar

$MySQL = array(
  'servidor' => 'localhost',  // Endereço do servidor
  'usuario' => 'root',    // Usuário
  'senha' => 'admin',        // Senha
  'banco' => 'empresaabc'    // Nome do banco de dados
);
$MySQLi = new MySQLi($MySQL['servidor'], $MySQL['usuario'], $MySQL['senha'], $MySQL['banco']);
// Verifica se ocorreu um erro e exibe a mensagem de erro
if (mysqli_connect_errno())
    trigger_error(mysqli_connect_error(), E_USER_ERROR);

 

e está ok; só verificar, portanto, as extensões..

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 horas atrás, Fernando C disse:

essa mensagem:
 

 

está dando erro pq se entendi bem é 1 função p/ retornar informações do Apache, mas essa pg php está numa pasta do IIS - que é 1 outro servidor web.. na verdade PHP funciona ok no IIS, nem é obrigatório instalar o apache; eu simplesmente apagaria essa função...

 

extensões a bancos de dados (mysql, mysqli,PDO)
em PHP normalmente devem ser habilitadas (ou ativadas) manualmente;
seu phpinfo() não mostrou nenhuma delas - as funções mysql (mysql_connect, por exemplo), no entanto estão obsoletas (não devem ser usadas no código) - portanto,cuidado com material desatualizado - há muito p/ ai....

 

Mysql no windows era melhor ser instalado como serviço, ser iniciado automaticamente e deve ter uma porta do firewall liberada (padrão: 3306); convém verificar..

 

ET:  testei esse código:

 

e está ok; só verificar, portanto, as extensões..

 

 

OK. Vou verificar as extensões etc.

Obrigado por tudo.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
×

Informação importante

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