Guest --Joca -- Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 Olá pessoal, sou novato e gostaria de uma ajuda de você´s.assim.Instalei o apache,php,phpmyadmin e mysqltudo direitinho,so que não consigo conectar no banco atravez do cod php.criiei um pagina chamada index.php e nela contemo 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/phpmyadimine ao acessar http://localhost/phpmyadmin/index.phpe 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?obrigadoatt Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Joca -- Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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 dbCadUser. 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.<?phpinclude_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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 Aqui:$ret1 = mysql_connect($conn,$SQL1); O correto è: $ret1 = mysql_query($conn,$SQL1); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Joca -- Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 (editado) 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 Junho 28, 2007 por itibere Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Joca -- Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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_usertem esses dois camposField:id typeint(10) Collation: _nullNo Extraauto_increment Field:nome_usertype varchar(100)Collation latin1_swedish_cinull No Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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')"; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Joca -- Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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()); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Joca -- Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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 1meu cod todo<?phpinclude_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()); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 Crie sua tabela com base nesse modeloCREATE 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Joca -- Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 Realizei o que me pediu e deu o mesmo erro:Incorrect integer value: '' for column 'id' at row 1 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Joca -- Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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()); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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.0SET 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`-- Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Junho 28, 2007 Denunciar Share Postado Junho 28, 2007 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Joca -- Postado Junho 29, 2007 Denunciar Share Postado Junho 29, 2007 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --joca -- Postado Junho 29, 2007 Denunciar Share Postado Junho 29, 2007 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Junho 30, 2007 Denunciar Share Postado Junho 30, 2007 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
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
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.