Ir para conteúdo
Fórum Script Brasil
  • 0

[RESOLVIDO] erro ao conectar bco de dados


parreira_net

Pergunta

Olá, pessoal!

Estou iniciando em PHP, então meu professor propôs um desafio: hospedar um site onde o host oferece suporte PHP + SQL e atraves de scripts emque  eu fizesse uma ponte entre o formulario do site e o banco de dados onlne. Então criei o site, o banco, usuario, senha e a tabela,t udo bem simples,  a tabela com quatro colunas;id, nome, telefone  e email, mas no query não coloquei o id por ser null e A.I.

Pra começar criei três sripts: o config1.php onde nele coloquei os dados de acesso e seleção do banco como seque:

 

<?php

$db['hostname'] = 'meuhost';
$db['username'] = 'meuusuario';
$db['password'] = 'senha';
$db['dbname']   = 'meubanco';
$conn = mysqli_connect($db['hostname'],$db['username'],$db['password']);
mysql_select_db($db['dbname'],$conn);
?>

Criei ainda, o arquivo funcoes.php que recebe os dados do formulario e insere no banco, como seque:

 

<?php

function adicionar ($nome, $telefone, $email)
{
$sql = "INSERT INTO mytab (nome, telefone, email) VALUES ('$nome', '$telefone', '$email')";   
msysql_query($sql);
}
?>

E tem o adiciona que o arquivo chamado pelo formulario para dar inicio a todo o processo:

 

<?php

include 'config1.php';
include 'funcoes.php';
adicionar ($_REQUEST['nome'],$_REQUEST['telefone'],$_REQUEST['email']);

?>

Esse arquivo só teria o adicionar para receber os parâmetros do formulário que segue:

 

<HTML>
<HEAD>
<TITLE>New Document</TITLE>
</HEAD>
<BODY>
<FORM ACTION="adiciona.php" method="post">
Nome:     =  <input type="text" name="nome">
Telefone: =  <input type="text" name="telefone">
Email:    =  <input type="text" name="email">
<input type="submit" value="enviar">
</FORM>
</BODY>
</HTML>

Bom, se desse tudo certo, o navegador ficaria em branco e os dados estariam inseridos na tabela, ao invés disso, no navegador aparece um aviso e um erro fatal:

 

Warning: mysql_select_db() expects parameter 2 to be resource, object given in /home/u561257327/public_html/config1.php on line 8

Fatal error: Call to undefined function msysql_query() in /home/u561257327/public_html/funcoes.php on line 6

 

O que poderiam ser estes erros?

 

Editado por parreira_net
RESOLVIDO
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Olá!

Segue sugestão para solução:

<?php
$db = [
    'hostname' => 'meuhost',
    'username' => 'meuusuario',
    'password' => 'senha',
    'dbname' => 'meubanco',
];
// estabelecer conexão:
$sqli = new mysqli($db['hostname'], $db['username'], $db['password']);

// verificar se conectou de boas:
if ($sqli->connect_error) {
    // se houve alguma falha na conexão, exibe mensagem de erro na tela:
    echo '<p class="error">Falha na conexão: ' . $sqli->connect_error . '</p>';
}

// selecionar/abrir o banco de dados para trabalhar
if (!$sqli->select_db($database)) {
    // se o banco de dados não for encontrado
    echo "<p class='error'>Banco de dados não encontrado, chefe!</p>";
}


## FUNÇÃO

function adicionar($nome, $telefone, $email) {
    global $sqli;
    // executar a query
    $sqli->query("INSERT INTO mytab (nome, telefone, email) VALUES ('$nome', '$telefone', '$email')");
    // verifica se houve erro na execução da query acima
    if ($sqli->error) {
        // se houve alguma falha, exibir falha na tela:
        echo '<p class="error">Falha em adicionar: ' . $sqli->error . '</p>';
    } else {
        // se não houve erro:
        echo '<p class="ok">Adição efetuada com sucesso!</p>';
    }
}

Segundo o W3Schools, html deve ser escrito sempre com letras minúsculas, veja em: http://www.w3schools.com/html/html5_syntax.asp

 

 

lowerCase.JPG

Link para o comentário
Compartilhar em outros sites

  • 0
Em 07/02/2016 at 00:07, wash disse:

Olá!

Segue sugestão para solução:


<?php
$db = [
    'hostname' => 'meuhost',
    'username' => 'meuusuario',
    'password' => 'senha',
    'dbname' => 'meubanco',
];
// estabelecer conexão:
$sqli = new mysqli($db['hostname'], $db['username'], $db['password']);

// verificar se conectou de boas:
if ($sqli->connect_error) {
    // se houve alguma falha na conexão, exibe mensagem de erro na tela:
    echo '<p class="error">Falha na conexão: ' . $sqli->connect_error . '</p>';
}

// selecionar/abrir o banco de dados para trabalhar
if (!$sqli->select_db($database)) {
    // se o banco de dados não for encontrado
    echo "<p class='error'>Banco de dados não encontrado, chefe!</p>";
}


## FUNÇÃO

function adicionar($nome, $telefone, $email) {
    global $sqli;
    // executar a query
    $sqli->query("INSERT INTO mytab (nome, telefone, email) VALUES ('$nome', '$telefone', '$email')");
    // verifica se houve erro na execução da query acima
    if ($sqli->error) {
        // se houve alguma falha, exibir falha na tela:
        echo '<p class="error">Falha em adicionar: ' . $sqli->error . '</p>';
    } else {
        // se não houve erro:
        echo '<p class="ok">Adição efetuada com sucesso!</p>';
    }
}

Segundo o W3Schools, html deve ser escrito sempre com letras minúsculas, veja em: http://www.w3schools.com/html/html5_syntax.asp

 

 

lowerCase.JPG

Valeu pelo script, muito bem explicado, funciona direitinho...

Obrigado pela ajuda, problema resolvido!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...