Jump to content
fernvl007

Base de dados não funciona

Recommended Posts

fernvl007

Boas,

estou a construir um site, e estive a usar o WAMP para fazer de servidor local, e as coisas até corriam bem, fiz um formulário e a coisa começou a complicar, porque o formulário é suposto ir para a base de dados. Até aqui ainda me mexi, e as coisas apesar de darem alguns erros os dados eram inseridos numa tabela que criei no phpMyAdmin. Hoje coloquei no servidor online e a coisa complicou, importei a base de dados para o servidor e afins, mudei o código para o do servidor e os erros deixaram de apareçer, mas não entra registo nenhum na tabela, que pode ser?

A tabela que supostamente deveriam os dados ir ter chama-se "registo".

Este é o código:

<?php
$conect = mysql_connect("nome do servidor", "nomedoutilizadr", "senha");

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
 if (PHP_VERSION < 6) {
   $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 }

 $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

 switch ($theType) {
   case "text":
     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
     break;    
   case "long":
   case "int":
     $theValue = ($theValue != "") ? intval($theValue) : "NULL";
     break;
   case "double":
     $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
     break;
   case "date":
     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
     break;
   case "defined":
     $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
     break;
 }
 return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
 $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) &amp;&amp; ($_POST["MM_insert"] == "form2")) {
 $insertSQL = sprintf("INSERT INTO registo (id, bd_nome, bd_n_bi, bd_idade, bd_sexo, bd_morada, bd_cod_postal, bd_localidade, bd_telefone, bd_email, bd_n_acompanhantes, bd_refeicao, bd_mensagem) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                      GetSQLValueString($_POST['id'], "int"),
                      GetSQLValueString($_POST['bd_nome'], "text"),
                      GetSQLValueString($_POST['bd_n_bi'], "int"),
                      GetSQLValueString($_POST['bd_idade'], "int"),
                      GetSQLValueString($_POST['bd_sexo'], "text"),
                      GetSQLValueString($_POST['bd_morada'], "text"),
                      GetSQLValueString($_POST['bd_cod_postal'], "text"),
                      GetSQLValueString($_POST['bd_localidade'], "text"),
                      GetSQLValueString($_POST['bd_telefone'], "int"),
                      GetSQLValueString($_POST['bd_email'], "text"),
                      GetSQLValueString($_POST['bd_n_acompanhantes'], "int"),
                      GetSQLValueString($_POST['bd_refeicao'], "text"),
                      GetSQLValueString($_POST['bd_mensagem'], "text"));

 $db = mysql_select_db("nome_base_dados");
 $Result1 = mysql_query($registo);

 $insertGoTo = "/index.htm";
 if (isset($_SERVER['QUERY_STRING'])) {
   $insertGoTo .= (strpos($insertGoTo, '?')) ? "&amp;" : "?";
   $insertGoTo .= $_SERVER['QUERY_STRING'];
 }
 header(sprintf("Location: %s", $insertGoTo));
}
?>

Edited by brunoais
geshi + tag completamente errada removida

Share this post


Link to post
Share on other sites
fernvl007

Pode ser muita coisa. Não dá erro nenhum?

Não :s dava erro de código na linha 56 e 57, depois inseri o nome e não dá mais o erro, mas os dados na tabela não inserem...no WAMP dava erro mas sempre inseria os dados na tabela

Share this post


Link to post
Share on other sites
HappyHippyHippo

o local onde está o servidor é : "nome do servidor" ?

o utilizador da base de dados é : "nomedoutilizadr" ?

a palavra chave do utilizador é : "senha" ?

a base de dados chamasse : "nome_base_dados" ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
fernvl007

o local onde está o servidor é : "nome do servidor" ?

o utilizador da base de dados é : "nomedoutilizadr" ?

a palavra chave do utilizador é : "senha" ?

a base de dados chamasse : "nome_base_dados" ?

Não, tem nome, eu meti isso para facilitar a confusão que estou a ter, a ver se me está a escapar algo

Share this post


Link to post
Share on other sites
HappyHippyHippo

então altera para

if (($Result1 = mysql_query($registo)) == null)
 echo "SQL error : ".mysql_error();


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
fernvl007

$db = mysql_select_db("nome_base_dados");

Troca esta linha para logo depois do mysql_connect.

Continua a não dar nem erro nem entrada na tabela, será que não me está a faltar algum caminho para a tabela? Será que só meter o nome da base de dados não será pouco?

então altera para

if (($Result1 = mysql_query($registo)) == null)
 echo "SQL error : ".mysql_error();

Onde?

Share this post


Link to post
Share on other sites
HappyHippyHippo

e isto, dá mensagem que foi inserido ?

if (($Result1 = mysql_query($registo)) == null)
 echo "SQL error : ".mysql_error();
else
 echo "Foi inserido";


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
fernvl007

Agora dá este erro mesmo antes de inserir algo

*Que é o caminho para a página de inscrição

$db = mysql_select_db("nome_base_dados");

Troca esta linha para logo depois do mysql_connect.

Desde que troquei como dizes, ficou a dar este erro "

mysql_select_db() expects parameter 2 to be resource, null given in

/home/vol9/alojamentogratuito.com/alo_12198399/htdocs/inscricoes.php

on line

3

Edited by fernvl007

Share this post


Link to post
Share on other sites
fernvl007

$db = mysql_select_db("nome_base_dados", $conect);

Não dá o erro, mas dados também não inserem na tabela

Edited by fernvl007

Share this post


Link to post
Share on other sites
HappyHippyHippo

e isto, dá mensagem que foi inserido ?

if (($Result1 = mysql_query($registo)) == null)
 echo "SQL error : ".mysql_error();
else
 echo "Foi inserido";


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
HappyHippyHippo

então o problema é anterior a isso :

print_r($_POST); // <------- verifica o que foi enviado
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
fernvl007

Actualmente o código com alguma alterações que foram colocadas aqui, não dá erro nenhum mas também não introduz os dados na base de dados

Share this post


Link to post
Share on other sites
HappyHippyHippo

então o problema é anterior a isso :

print_r($_POST); // <------- verifica o que foi enviado
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
fernvl007

onde coloco esse código, ele não me está a funcionar

Continuo sem conseguir introduzir dados na base de dados, qualquer ajuda é bem-vinda.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.