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

Atualizando um campo do BD MySQL


Pedro Augusto

Pergunta

Olá, tem um campo em uma tabela do meu bd que não está aceitando o id da categoria ser repetido em vários itens. O sql é esse... tem algum erro?

CREATE TABLE sn_not (
id SMALLINT ( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
nottitulo VARCHAR(60),
notcategoria SMALLINT ( 5 ) NOT NULL UNIQUE,
notcorpo TEXT,
notdata DATE
);

Esse é que deverá aceitar valor repetido em vários itens...

notcategoria SMALLINT ( 5 ) NOT NULL UNIQUE

Obrigado desde já!

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Valeu este erro foi corrigido. Mas quando fui testar inserir os dados escrevi coisas à toa em inglês e usei ' aspa simples, deu o seguinte erro:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'll teste', '1', 'I'ma','2007-12-18')' at line 1\nQUERY-> INSERT INTO sn_not(notId, notTitulo, notCategoria, notCorpo, notData) values('NULL', ''ll teste', '1', 'I'ma','2007-12-18')

Como posso corrigí-lo...?

Valeu mais uma vez!

Link para o comentário
Compartilhar em outros sites

  • 0

Olha, creio que até um certo ponto o código está certo... Quero resolver o problema de dar erro quando digito algum valor que tenha aspas simples ou duplas. Alguém sabe qual é o problema, o código está aí:

echo 
        "<form method=\"post\" action=\"$PHP_SELF\">
        <p>Título: <br />
        <input type=\"text\" name=\"sn_ti\" size=\"30\" maxlength=\"60\" /></p>
        <p>Categoria: <br />";
        
        include('config.php');
            $conectar = mysql_connect("$dbhost","$dbuser","$dbpass");
                mysql_select_db("$dbname");

        $sql = "SELECT * FROM sn_cat ORDER BY catNome ASC";
        $query = mysql_query($sql) or die(mysql_error() . '\nQUERY-> ' . $sql);
        echo "<select name=\"sn_ct\">";
        while($linha = mysql_fetch_array($query))
        {
            echo "<option value=\"" . $linha['catId'] . "\">" . $linha['catNome'] . "</option>";
        }
        echo "</select>";
        
        echo
        "<p>Corpo: <br />
        <textarea name=\"sn_co\" rows=\"6\" cols=\"40\"></textarea></p>
        
        <p><input type=\"hidden\" name=\"sn_da\" value=\"$dat\" />

        <input type=\"submit\" name=\"inserir\" value=\"Publicar\" /></p>
        </form>";

Valeu até aqui.

Link para o comentário
Compartilhar em outros sites

  • 0

Utilize a função mysql_real_escape_string() para escapar os apóstrofes/aspas na query...basta colocar:

$var = mysql_real_escape_string("Essa ''''' '' 'é uma variável que tem ' só que ' está sendo escapado");

Assim não dá pau na query...

Link para o comentário
Compartilhar em outros sites

  • 0

E. Serra valeu, deu uma pesquisada e aprendi como usar a função mysql_real_escape_string(), que você me indicou, e está funcionando beleza. Só pra facilitar, uso 2 var, tem como simplificar o código? Até o momento está assim:

$sn_tit    = mysql_real_escape_string($sn_Tit);
$sn_cor    = mysql_real_escape_string($sn_Cor);

Até que esse código está pequeno, mas vai que um dia eu precise usar isso pra muitas variáveis. Muito obrigado até aqui.

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...