Mysql + php ( pq nao funciona? ) (+desespero)

9 respostas
SirDominque
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
//O id do cliente no banco de dados , deve ser auto incremental; 
//Só colocar o id aqui se for para sobrepor, no caso, falta um método de 
//sobre-posição na classe;
        $idCliente;
//O id do cliente ,por enquanto, fica aqui por mera ilustração do processo;

        $nomeCliente;
        $enderecoCliente;
        $CPFCliente;



        $dbname = "mydb"; // Indique o nome do banco de dados que será aberto
        $usuario = "root"; // Indique o nome do usuário que tem acesso
        $password = ""; // Indique a senha do usuário
//Método Connection faz toda a conexão e ja insere os valores.Nao é uma boa-prática;
//Só para ilustração;
        connection();

        $idCliente = 1;
        $CPFCliente = 10;

        function connection() {
            if (!($id = mysql_connect("http://172.16.0.23", $usuario, $password))) {
                echo "Erro ao se conectar ao MYSQL. Verificar login e senha";
                exit;
            }

            if (!($con = mysql_select_db($dbname, $id))) {
                echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL.Erro em nome do banco de dados e/ou id MySQL";
                exit;
            }
//O método connection deve gerar a variável $id, que por sua vez sera usada no método inserir;
            inserir($id);
        }

//Comando do mySQL que insere os dados- Recebe o id como parametro
        function inserir($id, $idCliente, $CPFCliente) {
            $sql = "Insert into cadastro values (" . $idCliente . "" . $CPFCliente . ")";

            function mysqlInserir($id, $sql, $erro = 1) {
                if (empty($sql) OR !($id))
                    return 0; //Erro na conexão ou no comando SQL   
                if (!($res = @mysql_query($sql, $id))) {
                    if ($erro)
                        echo "Ocorreu um erro na execução do Comando SQL no banco de dados. Favor Contactar o Administrador.";
                    exit;
                }
                return $res;
            }

        }

        //Comando do SQL que retorna os dados:

        function select() {
            $sql = " Select * from cadastro";

            function mysqlSelectReturn($id, $sql, $erro = 1) {
                if (empty($sql) OR !($id))
                    return 0; //Erro na conexão ou no comando SQL   
                if (!($res = @mysql_query($sql, $id))) {
                    if ($erro)
                        echo "Ocorreu um erro na execução do Comando SQL no banco de dados. Favor Contactar o Administrador.";
                    exit;
                }

                //Recebe a resposta dentro de um while e retorna as row's;
                while ($res = mysql_fetch_array($result)) {
                    echo $row['idCliente'] . " " . $row['nomeCLiente'] . " " . $row['CPFCliente'] . " " . $row['enderecoCliente'];
                    echo "<br />";
                }

                return $res;
            }

        }
        ?>

        ?>
    </body>
</html>

9 Respostas

Jhonny_Oliveira

O que necessariamente não está funcionando? Tem alguma mensagem de erro? Esclareça um pouco a sua dúvida para que possamos ajudá-lo.

SirDominque

Isso aqui é junto com o código HTML , qualquer um dos dois deve funcionar

<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
       
        <form method="POST" action="" onload="">
         
            Nome: <br />
            <input type="text" name="nomeCliente" id="nome" />
            idCliente : <br />
            <input type="number" name="idCliente" id="1" />
            enderecoCliente: <br />
            <input type="text" name="enderecoCliente" id="Rua_Quinze" />
            RGCliente : <br />
            <input type="number" name="RGCliente" id="0000000" />
            <input type="submit" value="enviar" />
            
        </form>
    </body>
</html>

<?php


function main()
{
    connection();
}

main();

//O id do cliente no banco de dados , deve ser auto incremental; 
//Só colocar o id aqui se for para sobrepor, no caso, falta um método de 
//sobre-posição na classe;
$idCliente;
//O id do cliente ,por enquanto, fica aqui por mera ilustração do processo;

$nomeCliente;
$enderecoCliente;
$CPFCliente;




//Submit
if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    isset($_POST['nome']) ? $_POST['nome'] : '';
}


//Conexão ao Banco de Dados :

//Nome da tabela = cadastro;
$dbname="mydb"; // Indique o nome do banco de dados que será aberto
$usuario="root"; // Indique o nome do usuário que tem acesso
$password=""; // Indique a senha do usuário

//Método Connection faz toda a conexão e ja insere os valores.Nao é uma boa-prática;
//Só para ilustração;
connection();

$idCliente = 1;
$CPFCliente = 10;
$enderecoCliente = "Rua_Quinze";
$idadeCliente = 18;

function connection()
{
if(!($id = mysql_connect("172.16.0.23",$usuario,$password))) {
   echo "Erro ao se conectar ao MYSQL. Verificar login e senha";
   exit;
} 

if(!($con=mysql_select_db($dbname,$id))) { 
   echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL.Erro em nome do banco de dados e/ou id MySQL";
   exit; 
} 
//O método connection deve gerar a variável $id, que por sua vez sera usada no método inserir;
inserir($id);
}

//Comando do mySQL que insere os dados- Recebe o id como parametro
function inserir($id, $idCliente, $CPFCliente)
{
$sql = "Insert into cadastro values (".$idCliente."".$CPFCliente.".$enderecoCliente.".$idadeCliente.")";
function mysqlInserir($id,$sql,$erro = 1) { 
    if(empty($sql) OR !($id)) 
       return 0; //Erro na conexão ou no comando SQL   
   if (!($res = @mysql_query($sql,$id))) { 
      if($erro) 
        echo "Ocorreu um erro na execução do Comando SQL no banco de dados. Favor Contactar o Administrador.";
      exit;
   } 
    return $res; 
 }
}
 
 //Comando do SQL que retorna os dados:
 
 function select()
 {
     $sql = " Select * from cadastro";
 function mysqlSelectReturn($id,$sql,$erro = 1) { 
    if(empty($sql) OR !($id)) 
       return 0; //Erro na conexão ou no comando SQL   
   if (!($res = @mysql_query($sql,$id))) { 
      if($erro) 
        echo "Ocorreu um erro na execução do Comando SQL no banco de dados. Favor Contactar o Administrador.";
      exit;
   } 
    
   //Recebe a resposta dentro de um while e retorna as row's;
  while($res = mysql_fetch_array($result))
  {
  echo $row['idCliente'] . " " . $row['nomeCLiente'] . " " . $row['CPFCliente'] . " " . $row['enderecoCliente'];
  echo "<br />";
  }
   
   return $res; 
    
 }
 
 }
 
 
 function rData()
{
    return $nomeCliente + $idCliente + $enderecoCliente + $RGCliente + $CPFCliente;
}

?>
SirDominque

eu estou numa empresa, entao eu n sei se o problema é o código ou é no servidor apache.

Só preciso saber se o código esta certo , por favor me ajuda;

O programa deve cadastrar um cliente e colocar no banco de dados.
Ele deve pedir os dados e colocar no banco… ajuda por favor

AlexandreGama

Nossa Andre Lopes, que código sofrível.

Enfim…o que você realmente testou? Você não tem um problema específico?

Até mais!

SirDominque

Melhor agora: ?

<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <form action="Cadastro.php" method="post">

            Nome: <input type="text" name="nome"><br>
            CPF: <input type="text" name="cpf"><br>
            Endereço: <input type="text" name="end"><br>
            Idade: <input type="text" name="idade"><br>
            <input type="Submit">



        </form>
        <?php
        $enderecoCliente = $_POST['end'];
        $idadeCliente = $_POST['idade'];
        $CPFCliente = $_POST['cpf']; //Ignorando o algoritmo de CPF 
        $idCliente = 1;              //Auto Incremental e PK ( Primary Key)

        $username = "root";
        $password = "";
        $database = "mydb";

        
        mysql_connect(localhost, $username, $password);
        @mysql_select_db($database) or die("Unable to select database");
        $query = "Insert into cadastro values (" . $idCliente . "" . $CPFCliente . ".$enderecoCliente." . $idadeCliente . ")";
        mysql_query($query);
        
        
        
        //Fecha a conexão
        mysql_close();
        ?>
    </body>
</html>
AlexandreGama

Andre Lopes, tem algumas coisas legais que você poderia fazer com esse código aí, como separar esse código php da página, isolar
o acesso ao banco, etc mas isso é para uma outra conversa =D

Mas ainda não entendi qual o seu problema =/

Detalhe: esse localhost aí não vai funcionar :wink:

Abs!

AlexandreGama

Talvez o seu código seja só de exemplo, estudo, etc mas se for de produção tenha cuidado com essa concatenação de parâmetros
que pode resultar em um ataque bem antigo http://pt.wikipedia.org/wiki/Injeção_de_SQL

Abs!

Anime

Oi Andre,

Da uma olhadinha no link vai ajudar… :wink:

http://www.upinside.com.br/

http://www.upinside.com.br/video-aulas/php/curso-de-php-para-iniciantes-aula-1-de-5

perdeu

nunca use @, pois ela oculta as mensagens de erro, então ja tire isso do codigo

Criado 5 de abril de 2012
Ultima resposta 5 de abr. de 2012
Respostas 9
Participantes 5