Ir para conteúdo

Arquivado

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

TeixeiraRamos

Fatal error:

Recommended Posts

Por favor,

Minha página modulo01.php com o código:

 

<?php
$conexao = mysql_connect("localhost", "root", "vertrigo") or die ("A conexão Falhou");

mysql_close($conexao);
?>

Está mostrando essa  mensagem:

 

Citar

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\Program Files\VertrigoServ\www\cursomysql\modulo01.php:2 Stack trace: #0 {main} thrown in C:\Program Files\VertrigoServ\www\cursomysql\modulo01.php on line 2

 

A linha 2 é essa:

 

$conexao = mysql_connect("localhost", "root", "vertrigo") or die ("A conexão Falhou");

Obrigado

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

É realmente não pode ser verdade:

Encontrei isso sobre o meu erro Fatal error:

Citar

A função mysql_connect() foi descontinuado.

Agora se usa mysqli_connect().


$link = mysqli_connect("host", "user", "pass", "database");

Isso também vale para os outros comandos que comecem com mysql_. Devem ser mysqli_.

Portanto:


mysqli_query($link, $query);

 

E o erro sumiu. E agora!  Mas estou seguindo exatamente o que mostra na aula.

Eu não acredito. Onde estou digitando:

 mysql_connect

Não é. Tem que ser:

mysqli

Tem um i no final?

Essa informação está aqui: https://pt.stackoverflow.com/questions/173037/como-resolver-o-erro-call-to-undefined-function-mysql-connect

 

 

Não adianta.

Mudei o código para:

 

<?php
$conexao = mysqli_connect("localhost", "root", "vertrigo") or die ("A conexão Falhou <br> O erro informado é o seguinte:" .mysqli_error());

$sql = "CREATE DATABASE cursomysql";
$retorno = mysqli_query($sql, $conexao) or die ("A conexão SQL Falhou");

if($retorno) echo "SQL foi executado com sucesso";
else echo "O SQL não foi executado";

mysqli_close($conexao);
?>

Executo mostra a mensagem:

 

Citar

Warning: mysqli_query() expects parameter 1 to be mysqli, string given in C:\Program Files\VertrigoServ\www\cursomysql\modulo02.php on line 5
A conexão SQL Falhou

 

Vou em PhpMyAdmin observo que não foi criado nenhuma DATABASE cursomaysql.

Ícone do VertrigoServ está com a cor verde, PhpMyAdmin funcionando, teste phpinfo() mostra PHP 7.

Não sei o que pode está acontecendo.

Desinstalo o Vertrigo? Não devo usar PHP 7?  

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

O único fato que posso constatar, é que a aula que estás assistindo é antiga.

 

Entretanto, não é só adicionar um "i". Há toda uma nova implementação por traz da biblioteca MySQLi.

 

De qualquer forma, podes verificar as alterações necessárias aqui: http://rberaldo.com.br/como-atualizar-php-mysql-mysqli/

 

3 horas atrás, TeixeiraRamos disse:

Desinstalo o Vertrigo? Não devo usar PHP 7?

 

Você deixaria de usar um carro totalmente automático por apenas saber dirigir com câmbio manual?

 

O pensamento é o mesmo, mantenha o PHP 7 e utilize MySQLi (ou PDO) conforme o artigo acima linkado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado, seguirei as suas orientações.

Desejo Sucesso sempre Gabriel.

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por favor,

Achei ótima a sugestão, mas meu plano incluindo PHP 7 é muito caro.

Dentro do meu plano as versões disponíveis seriam da 5.3 até a 5.6.

Qual a versão recomendada.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
23 horas atrás, TeixeiraRamos disse:

Não sei o que pode está acontecendo.

Desinstalo o Vertrigo? Não devo usar PHP 7?  

 

Digo a mesma coisa

19 horas atrás, Gabriel Heming disse:

Você deixaria de usar um carro totalmente automático por apenas saber dirigir com câmbio manual?

 

Comparar o PHP 7 com suas versões anteriores seria comparar um MustangGT com um Fusca :sweat_smile:

 

Bem a conexão com mysqli fica mais ou menos assim:

Spoiler

<?php
$host = 'localhost'; // endereço do servidor
$user = 'root'; // Nome do usuário que tem acesso ao servidor
$pass = ''; // Senha do usuário (obs.: Em localhost existe um usuário mestre "root" que não possui senha)
$db = 'mydb'; // Nome de um banco de dados existente para conectar
$conn = mysqli_connect($host, 'root', '', $db);

if (!$conn) { //
    die('Não conectou: ' . mysqli_connect_error());
} else {
    echo ('Conexão bem com sucesso a ' . $db);
}
/* 
 * Encerramos a conexão pois não precisamos mais manter.
 * Isso aliviará os processos pois se não souber reaproveitar a conexão
 * toda vez que depender do driver connector MySQLi uma nova conexão é criada
 * sem excluir a anterior
 */
mysqli_close($conn);

 

 

37 minutos atrás, TeixeiraRamos disse:

Achei ótima a sugestão, mas meu plano incluindo PHP 7 é muito caro.

Dentro do meu plano as versões disponíveis seriam da 5.3 até a 5.6.

 

Não entendi isso. Seria que sua hospedagem cobra mais caro se usar o PHP-7 ?  Se for isso como conselho mande-os ir pastar e contrate outra empresa, o fórum aqui mesmo possui patrocinadores que detém de excelentes hospedagens.

 

Como o Gabriel já mencionou não é só uma letra "I" que vai fazer pois os métodos da classe nativa é diferente.

 

Sobre as aulas que está acompanhando não aconselho seguir, uma vez que as mesmas apresentam features não mais utilizadas do PHP ou seja o que você aprender será descartado e praticamente terá que re-aprender tudo.

 

Como sugestão aconselho aprender utilizar o mysqli e também PDO, pois ambos são muitos bons, eu particularmente só uso PDO por ser muito mais prático trabalhar com essa biblioteca.

 

Sobre o vertrigo, nem era para você ter instalado esse software e sim ter optado pelo Wampp ou Xampp

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sempre prefira a maior versão estável.

 

Segundo o lifecycle, você ainda pode usar a 5.6: http://php.net/supported-versions.php

 

Essa é a única versão, abaixo do PHP 7, que terá algum suporte sobre questões criticas de segurança (até 31/12/2018).

Não sei dizer qual é a sua hospedagem, mas eu recomendaria procurar outra com suporte a PHP 7.1 ou 7.2 (versões recomendadas) e com um preço mais acessível.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Sapinn
      É a primeira vez que vejo esse erro e estou tendo problemas para resolvê-lo. Tenho no meu controller uma página de erro com o código:
       
      <?php namespace Source\App\Error; use Source\Core\Controller; class Error extends Controller { public function __construct() { parent::__construct(__DIR__ . "/../../themes/" . CONF_VIEW_ERROR . "/"); } /** * ERROR * @param array $data */ public function errors(?array $data): void { $error = new \stdClass(); json_encode($error); switch ($data['errcode']) { case "problemas": $error->code = "OPS"; $error->title = "Estamos enfrentando problemas!"; $error->message = "Parece que nosso serviço não está diponível no momento. Já estamos vendo isso mas caso precise, envie um e-mail :)"; $error->linkTitle = "ENVIAR E-MAIL"; $error->link = "mailto:" . CONF_MAIL_SUPPORT; break; case "manutencao": $error->code = "OPS"; $error->title = "Desculpe. Estamos em manutenção!"; $error->message = "Voltamos logo! Por hora estamos trabalhando para melhorar nosso conteúdo para você controlar melhor as suas contas :P"; $error->linkTitle = null; $error->link = null; break; default: $error->code = $data['errcode']; $error->title = "Ooops. Conteúdo indispinível :/"; $error->message = "Sentimos muito, mas o conteúdo que você tentou acessar não existe, está indisponível no momento ou foi removido :/"; $error->linkTitle = "Continue navegando!"; $error->link = url_back(); break; } $head = $this->seo->render( "{$error->code} | {$error->title}", $error->message, url("/ops/{$error->code}"), theme("/assets/images/share.jpg", CONF_VIEW_ERROR), false ); echo $this->view->render("error", [ "head" => $head, "error" => $error ]); } }  
       
      Estou usando o Composer para fazer minhas rotas de erro e elas se parecem com isso:
       
       
      /** * ERROR ROUTES */ $route->namespace("Source\App\Error"); $route->group("/ops"); $route->get("/{errcode}", "Error:errors"); /** * ROUTE */ $route->dispatch(); /** * ERROR REDIRECT */ if ($route->error()) { $route->redirect("/ops/{$route->error()}"); } E minha visão na página fkbError é assim:
       
      layout("_theme"); ?> <article class="not_found"> <div class="container content"> <header class="not_found_header"> <p class="error">•<?= $error->code; ?>•</p> <h1><?= $error->title; ?></h1> <p><?= $error->message; ?></p> <?php if ($error->link): ?> <a class="not_found_btn gradient gradient-green gradient-hover transition radius" title="<?= $error->linkTitle; ?>" href="<?= $error->link; ?>"><?= $error->linkTitle; ?></a> <?php endif; ?> </header> </div> </article> E o código parece estar certo mas o erro persiste, o que devo fazer?  
       
    • Por Sapinn
      Opa galera tudo beleza? Estou com um erro que está me deixando louco eu tenho o seguinte codigo:
          public function findByCode(string $code, string $columns = "*"): ?Sales     {         $find = $this->find("code = :code", "code={$code}", $columns);         return $find->fetch(true);     } Quando o tentou usar ele fazendo algo como:
       
       
      $sales = (new Sales())->findByCode(client()->code);  
      Ele não funciona e me retorna o seguinte erro:
      Uncaught TypeError: Return value of Source\Models\Sales::findByCode() must be an instance of Source\Models\Sales or null, array returned in
       
      Alguém sabe como resolver isso???
    • Por Sapinn
      Olá amigos tudo bem? Estou com um erro de loop de redirecionamento quando tento colocar uma rota de erro. Na minha página index onde eu coloco todas as minhas rotas eu tehno a seguinte rota para erro
      /**  * ERROR ROUTES  */ $route->namespace("Source\App\Error"); $route->group("/ops"); $route->get("/{errcode}", "Error:errors"); /**  * ROUTE  */ $route->dispatch(); /**  * ERROR REDIRECT  */ if ($route->error()) {     $route->redirect("/ops/{$route->error()}"); } Se eu remover esse ultimo if a pagina não da erro mas também não carrega meu metodo. Eu estou usando o composer e estou usando a dependecia do CoffeCode para rotas. Alguém sabe como resolver???
    • Por Joob
      Boas,
       
      Estou tendo um erro no TLS, seja com a versão 1.0, 1.1, 1.2 e 1.3 .
      Por exemplo, eu testo o TLS para o meu site e ele dá-me o seguinte:
       
      comando
      curl -I -v --tlsv1.3 --tls-max 1.3 https://exemple.com resultado
      * TLSv1.3 (OUT), TLS handshake, Client hello (1): * error:1408F10B:SSL routines:ssl3_get_record:wrong version number * Closing connection 0 curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number  
      Estou farto de tentar pesquisar sobre o erro, tenho tudo bem configurado etc.. só tenho o problema deste erro.
      E com este erro não consigo ter repostas de retorno ao meu servidor, devido a isto.
       
      Meu site suporta todo os TLS's e dá Resultados de A+
       
      Não sei se alguém já teve este problema.
       
       
      Obrigado,
      Abraço :)
    • Por Alberto Nascimento
      Estou tendo problemas de acesso ao Session, onde quando realizo login via computador, consigo "pegar" os dados que foram armazenados na sesion, mas quando utilizo o sistema de login no telefone ( android, por exemplo ) a session não esta conseguindo carregar os dados do usuário logado e exibir na página seguinte.
       
      Outra coisa que observei é que não consigo trabalhar com session em pastas diferentes, isso é normal? Veja só:
       
       
      Utilizando esta estrutura, não consigo ter acesso ao session no sistema ANDROID
       
      Agora se ao invés de ser como esta acima, faço uma pasta com todos os arquivos juntos, já consigo "pegar" os dados da session. Isso é normal?
×

Informação importante

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