Inserir registo em base de dados através de form php

myguel99

Power Member
Boa tarde,

tenho aqui uma duvida e agradecia algum esclarecimento se não for incomodo.

Estou a tentar inserir registo em uma base de dados mysql atraves de um form php mas estou a receber um erro e não consigo solucionar.

Código:
<html>
<head>
  <title>Registo area Reservada</title>
</head>
<body>
  <form action="processaRegisto.php" method="POST">
    <p>Username: <input type="text" name="username" /></p>
    <p>Password: <input type="text" name="password" /></p>
    <p>Email: <input type="text" name="email" /></p>
    <p>Data de Nascimento: <input type="text" name="nasc" /></p>
    <p>Morada: <input type="text" name="morada" /></p>
    <p>Cod.Postal: <input type="text" name="codpostal" /></p>
    <p>Cidade: <input type="text" name="cidade" /></p>
    <p>Nif: <input type="text" name="nif"  /></p>
    <p>Referenciador: <input type="referal"  /></p>
    <p><input type="submit" name="submit" value="Registar" /></p>
   
  </form>
</body>
</html>


Código:
<?php

   
    $conn=mysqli_connect("xxx","xxx","xxx","centronu_kompro");

    if(!$conn)
    {
        die("Connection failed: " . mysqli_connect_error());
    }

    // receber os dados via post method
    $username = $_POST['username'];
    $password = sha1($_POST['password']);
    $email = $_POST['email'];
    $dataNasc = $_POST['nasc'];
    $morada = $_POST['morada'];
    $codPostal = $_POST['codpostal'];
    $cidade = $_POST['cidade'];
    $nif = $_POST['nif'];
    $referal = $_POST['referal'];


    $sql = "INSERT INTO kp_membros (userid, username, password, email, dataNascimento, morada, CodPostal, cidade. nif, referal)
    VALUES (?,?,?,?,?,?,?,?,?,?)";

    $stmt = mysqli_prepare($conn,$sql);
   
    $stmt->bind_param("sssssssis", $_POST['username'], $_POST['password'], $_POST['email'], $_POST['nasc'], $_POST['morada'], $_POST['codpostal'], $_POST['cidade'], $_POST['nif'], $_POST['referal']);

    $stmt->execute();

    $conn->close();
?>

lanca-me este erro:

Fatal error: Call to a member function bind_param() on a non-object in /home/centronu/public_html/trabalhos/kompro/wp-content/themes/ample/areaReservada/processaRegisto.php on line 35

já andei ali a mecher na funcão bind_param mas sem sucesso e penso que a query está correta.

Obrigado.
 
Tens um ponto en vez de uma virgula na query: assinalaei com **

$sql = "INSERT INTO kp_membros (userid, username, password, email, dataNascimento, morada, CodPostal, **cidade. **nif, referal)
VALUES (?,?,?,?,?,?,?,?,?,?)";

Substutui e verifica se é disso.
 
Tens um ponto en vez de uma virgula na query: assinalaei com **

$sql = "INSERT INTO kp_membros (userid, username, password, email, dataNascimento, morada, CodPostal, **cidade. **nif, referal)
VALUES (?,?,?,?,?,?,?,?,?,?)";

Substutui e verifica se é disso.

meu deus ando mesmo a ver mal
não tinha mesmo reparado e estive horas á volta disto :lol:

Fica o código com prepare statements para quem quiser usar.
 
Back
Topo