Ir para conteúdo

POWERED BY:

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 violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
×

Informação importante

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