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

Erro Ao Conectar Com O Banco Mysql


Guest --Joca --

Pergunta

Guest --Joca --

Olá pessoal, sou novato e gostaria de uma ajuda de você´s.

assim.

Instalei o apache,php,phpmyadmin e mysql

tudo direitinho,

so que não consigo conectar no banco atravez do cod php.

criiei um pagina chamada index.php e nela contem

o cod de conectar:

assim

<?php

$host = "localhost";

$user = "root";

$pass = "www";

$conn = @odbc_connect($host,$user,$pass) or die("Erro 400 ao tentar conectar ao banco de dados!");

//mysql_select_db("cad_user");

?>

aparacere o erro: Erro 400 ao tentar conectar ao banco de dados!

lembrando que está tudo certo, host, user e a senha!

a unica coisa que fiz diferente na instalação no phpmyadmin:

o manual pedia para colocar ele dentro do apache/htdocs/phpmyadimin

e ao acessar http://localhost/phpmyadmin/index.php

e não consegui então o que eu fiz joguei ele para o local host e funcionou atraves deste link.

sera que isso tem algo relacionado?

obrigado

att

Link para o comentário
Compartilhar em outros sites

20 respostass a esta questão

Posts Recomendados

  • 0

use Assim:

<?
$host="localhost";      //Quarda o nome do servidor de dados
$user="xxx";        //Quarda o nome de usuário para o servidor de dados
$senha="xxx";    //Quarda a senha de acesso ao servidor de dados
$db="seu_banco";            //quarda o nome do banco de dados do servidor
$conn=mysql_connect("$host","$user","$senha");
if (!$conn){
    echo "Atenção Ocorreu um erro na tentativa de conexão com o banco de dados";
}
$banco=mysql_select_db($db);
?>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Joca --

Cara tentei, e ele não deu erro. mas quando tento insirir, não consigo olha que fiz..

coloquei seu cod na pasta inc e se chama db

CadUser. php - pagina para cadastro de nome!

include_once("inc/db.inc"); //onde está a funçao para conectar

<form name="form1" method="post" action="CadPrimeiroPasso.php">

<table width="100%" border="1" cellspacing="0" cellpadding="0">

<tr>

<td width="35%">nome:

<input name="txtNome" type="text" id="txtNome" value="" size="35" /></td>

<td width="65%"><input name="cmdEnvia" type="submit" id="cmdEnvia" value="Cadastrar" /></td>

</tr>

</table>

</form>

CadPrimeiroPasso.php - pagina p/ insirir dados no banco.

<?php

include_once("inc/db.inc"); //onde está a funçao para conectar

$NomeUsuario = strtoupper($_POST['txtNome']);

echo "$NomeUsuario";

$SQL1 = "INSERT INTO tb_cadastro_user

(nome)

VALUES ('$NomeUsuario')";

$ret1 = mysql_connect($conn,$SQL1);

ECHO "$SQL1<br>";

echo"$NomeUsuario";

?>

o que esta acontecendo, você sab?

valeu pela atenção

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Joca --
Aqui:

$ret1 = mysql_connect($conn,$SQL1);
O correto è:
$ret1 = mysql_query($conn,$SQL1);

cara realizei a troca do cod, mas também não insirou no banco de dados.

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta ai:

<?php
include_once("inc/db.inc"); //onde está a funçao para conectar
$NomeUsuario = strtoupper($_POST['txtNome']);
$SQL1 = "INSERT INTO tb_cadastro_user VALUES ('$NomeUsuario')";
$ret1 = mysql_connect($SQL1,$conn) or die (mysql_error());
?>

Se não funcionar posta o erro que ta aparecnedo.

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

  • 0
Guest --Joca --
Tenta ai:

<?php
include_once("inc/db.inc"); //onde está a funçao para conectar
$NomeUsuario = strtoupper($_POST['txtNome']);
$SQL1 = "INSERT INTO tb_cadastro_user VALUES ('$NomeUsuario')";
$ret1 = mysql_connect($SQL1,$conn) or die (mysql_error());
?>

Se não funcionar posta o erro que ta aparecnedo.

Não esta aparendo erro neunum, e não escreveu nada na tela e no banco.

no phpmyadmin na tabela que criei tb_cadastro_user

tem esses dois campos

Field:id typeint(10) Collation: _nullNo Extraauto_increment

Field:nome_usertype varchar(100)Collation latin1_swedish_cinull No

Link para o comentário
Compartilhar em outros sites

  • 0

No mysql, quando você usa

$SQL1 = "INSERT INTO tb_cadastro_user VALUES ('$NomeUsuario')";
tem que colocar obrigatoriamente todos os campos da tabela, nesse caso como tem um campo id auto_incremente ele deve ser considerado,
$SQL1 = "INSERT INTO tb_cadastro_user VALUES ('','$NomeUsuario')";

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Joca --
No mysql, quando você usa

$SQL1 = "INSERT INTO tb_cadastro_user VALUES ('$NomeUsuario')";
tem que colocar obrigatoriamente todos os campos da tabela, nesse caso como tem um campo id auto_incremente ele deve ser considerado,
$SQL1 = "INSERT INTO tb_cadastro_user VALUES ('','$NomeUsuario')";

Coloquei ele, mas não inseriu nada!

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Joca --
essa linha ta errada:

$ret1 = mysql_connect($SQL1,$conn) or die (mysql_error());

tem que ser

$ret1 = mysql_query($SQL1,$conn) or die (mysql_error());

não inseriu mas deu um erro: Incorrect integer value: '' for column 'id' at row 1

meu cod todo

<?php

include_once("inc/db.inc");

$NomeUsuario = strtoupper($_POST['txtNome']);

$SQL1 = "INSERT INTO tb_cadastro_user VALUES ('','$NomeUsuario')";

$ret1 = mysql_query($SQL1,$conn) or die (mysql_error());

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Crie sua tabela com base nesse modelo

CREATE TABLE `tb_cadastro_user` (
  `id` int(10) NOT NULL auto_increment,
  `nome_user` char(100) NOT NULL,
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Link para o comentário
Compartilhar em outros sites

  • 0

Vamos lá.

Esse codigo eu testei e funciona corretamente:

<?
$host="localhost";      //Quarda o nome do servidor de dados
$user="xx";        //Quarda o nome de usuário para o servidor de dados
$senha="xx";    //Quarda a senha de acesso ao servidor de dados
$db="seu_banco";            //quarda o nome do banco de dados do servidor
$conn=mysql_connect("$host","$user","$senha");
if (!$conn){
    echo "Atenção Ocorreu um erro na tentativa de conexão com o banco de dados";
}
$banco=mysql_select_db($db);
$NomeUsuario = strtoupper($_POST['txtNome']);
$SQL1 = "INSERT INTO tb_cadastro_user VALUES ('','$NomeUsuario')";
$ret1 = mysql_query($SQL1,$conn)or die(mysql_error());
?>
<form name="form1" method="post" action="divForum.php">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="35%">nome:
<input name="txtNome" type="text" id="txtNome" value="" size="35" /></td>
<td width="65%"><input name="cmdEnvia" type="submit" id="cmdEnvia" value="Cadastrar" /></td>
</tr>
</table>
</form>

Se você fez a base de dados igual a que eu mandei tem que funcionar agora.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Joca --

cara te agradeço a ajuda, mas continua o mesmo erro.

acho que é problema da incrementacao.

quando coloco um valor na id ele cadastra no banco, mas quando deixo vazio '' ou sem nada dá o erro:

Valor incorreto do inteiro para a coluna “id” na fileira 1

$banco=mysql_select_db($db);

$NomeUsuario = strtoupper($_POST['txtNome']);

$SQL1 = "INSERT INTO tb_cadastro_user VALUES ('5','$NomeUsuario')";

$ret1 = mysql_query($SQL1,$conn)or die(mysql_error());

Link para o comentário
Compartilhar em outros sites

  • 0

Veja seu banco de dados então, pois o erro esta lá, confira as configuraçoes da tabela, e poste aqui, va no phpmyadmin e manda exportar a tabela, ela vai gerar um aquivo com a informação que você precisa.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

segue.... a info

-- phpMyAdmin SQL Dump

-- version 2.10.2

-- http://www.phpmyadmin.net

--

-- Host: localhost

-- Generation Time: Jun 28, 2007 at 05:01 PM

-- Server version: 5.0.41

-- PHP Version: 5.2.0

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--

-- Database: `unidospelojanga`

--

-- --------------------------------------------------------

--

-- Table structure for table `tb_cadastro_user`

--

CREATE TABLE `tb_cadastro_user` (

`id` int(10) NOT NULL auto_increment,

`nome_user` char(100) NOT NULL,

UNIQUE KEY `id` (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--

-- Dumping data for table `tb_cadastro_user`

--

Link para o comentário
Compartilhar em outros sites

  • 0

O erro parece estara nesta opção do seu mysql:

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

Isso provavelmente não esta deixando você inserir o auto_incemente de forma correta.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Joca --
O erro parece estara nesta opção do seu mysql:

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

Isso provavelmente não esta deixando você inserir o auto_incemente de forma correta.

Ok, mas como posso arrumar isto?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --joca --

itibere foi resolvido, não sei porque antes não estava funcionando,

pois formulario fucionou contigo.

olha só que coloquei.

$NomeUsuario = strtoupper($_POST['txtNome']);

$SQL1 = "INSERT INTO tb_cadastro_user (nome_user) VALUES ('$NomeUsuario')";

$ret1 = mysql_query($SQL1,$conn)or die(mysql_error());

valeu pela paciencia abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Essa linha:

$SQL1 = "INSERT INTO tb_cadastro_user (nome_user) VALUES ('$NomeUsuario')";

Funcionou porque você definiu qual campo ta recebendo qual dados:

$SQL1 = "INSERT INTO "tabela"(campo1,campo2....) VALUES (valor1,valor2....)"; mas essa forma só interessante se você tiver poucos campos, se aumentar tipo 10, 15, vai sem mais complicado, já que você tera muita digitação.

Abraços.

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,4k
    • Posts
      652,3k
×
×
  • Criar Novo...