Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ivsouza

Não grava no banco de dados mysql

Recommended Posts

Boa noite a todos! É minha primeira dúvida aqui no forum e gostaria muito de resolver um problema, com o MYSQL, que não grava nada apenas:

deleta, altera, cria tabela, mas não grava, não insere nada. Possuo essas versões instaladas com Windows service pack 2:

 

php- 5.3.3

mysql- 5.1.49

Apache- 2.2.16-win32-x86-no_ssl.msi

Phpmyadmin- 5.1.49

 

Já pesquisei bastante em fóruns embora não obtive sucesso, pois os maiores problemas dos programadores eram com seus códigos que possuíam algum erro

de digitação ou algum comando errado e não especificamente no mysql.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca um exeplo de script que você esteja usando para inserir dados no BD...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado por responder ESerra, qualquer script que é rodado no servidor eu não consigo gravar no banco pelo PHP, já até formatei o windows, segue um script:

 

****confirmar_login.php****

 

<?php
$login=$_POST["login"];
$senha=$_POST["senha"];
//include "conectar_mysql.inc";
$conexao=mysql_connect("localhost","root","1010");
mysql_select_db("noticias");
$sql="SELECT * FROM usuarios where login='$login' and senha='$senha' ";
$resultado=mysql_query($sql);
$row=mysql_num_rows($resultado);
if($row==0) {  ?>
<script language="JavaScript">
window.location.href="login.php";
</script>
<?php
} 
else {
$pegar=mysql_fetch_array($resultado);
$id=$pegar["id_usuarios"];
$nome=$pegar["nome"];
setcookie("id",$id);
setcookie("nome",$nome);
setcookie("login",$login);
setcookie("senha",$senha);

?>
<script language="JavaScript">
window.location.href="incluir_noticia.php";
</script>
<?php


}
 ?>

 

 

****incluida.php****

 

 

<html>
<head>
<title>Documento sem título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php 
include "verifica.php";
//$data=date("d/m/Y");
$titulo=$_POST["titulo"]; //echo "$titulo";
$mensagem=$_POST["mensagem"];//echo "$mensagem";
$id_usuario=$_COOKIE["id"]; //echo "$id_usuario";
$conexao=mysql_connect("localhost","root","1010");
mysql_select_db("noticias");
$sql="INSERT INTO noticias values";
$sql.="('null','$titulo','$mensagem',$id_usuario)";
$resultado=mysql_query($sql);
echo "Notícia Incluida com Sucesso!";


?>
</body>
</html>

 

 

****incluir_noticia.php****

 

<html>
<head>
<title>Documento sem título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body ><center>
<?PHP
include "verifica.php";
 $nome=$_COOKIE["nome"];
 ?><form action="incluida.php" method="post">
  <table width="330" border="1">
    <tr> 
      <td colspan="2"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Bem 
        vindo, <?php echo "$nome"; ?></font></strong></td>
    </tr>
    <tr> 
      <td colspan="2"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Inclua 
        a sua Notícia Aqui</font></strong></td>
    </tr>
    <tr> 
      <td width="96"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Título 
        :</font></strong></td>
      <td width="218"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input type="text" name="titulo" size="45">
        </font></strong></td>
    </tr>
    <tr> 
      <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Mensagem:</font></strong></td>
      <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
        <textarea cols="45"rows="3" name="mensagem"></textarea>
        </font></strong></td>
    </tr>
    <tr>
      <td><input type="submit" value="Incluir"></td>
      <td> </td>
    </tr>
  </table>
</form>
</center>
</body>
</html>

 

*****login.php*****

 

 

<html>
<head>
<title>Portal de Notícias</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body><center>
<form action="confirmar_login.php" method="post">
    <table width="330" border="1">
      <tr align="center"> 
        <td colspan="3"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sistema 
          Autenticado deNotícias</font></strong></td>
      </tr>
      <tr> 
        <td width="64"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Login:</font></strong></td>
        <td colspan="2"><input type="text" name="login"></td>
      </tr>
      <tr> 
        <td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Senha 
          :</font></strong></td>
        <td width="173"><input type="password" name="senha"></td>
        <td width="71"><input type="submit" value="Enviar"></td>
      </tr>
    </table>

</form>
</center>

</body>
</html>

 

****noticia.php****

<?php
include "../validar_session.php";

include "../Config/config_sistema.php";

echo "<tr>";
echo "<table border=\"1\" align=\"center\"cellspacing=\"2\" cellpadding=\"1\" width=\"300\">";
echo "<td width=\"30\" bgcolor=\"#cccccc\" valign=\"top\"><div align=\"center\"><font size=\"2\" face=\"bold\">TOTAL </div></td>";
echo "<td width=\"30\" bgcolor=\"#cccccc\" valign=\"top\"><div align=\"center\"><font size=\"2\" face=\"bold\">CONTRATO </div></td>";
echo "<td width=\"30\" bgcolor=\"#cccccc\" valign=\"top\"><div align=\"center\"><font size=\"2\" face=\"bold\">DIA</div></td>";
echo "<td width=\"30\" bgcolor=\"#cccccc\" valign=\"top\"><div align=\"center\"><font size=\"2\" face=\"bold\">MÊS</div></td>";
echo "<td width=\"30\" bgcolor=\"#cccccc\" valign=\"top\"><div align=\"center\"><font size=\"2\" face=\"bold\">CONCLUÍDO</div></td>";
echo "<td width=\"30\" bgcolor=\"#cccccc\" valign=\"top\"><div align=\"center\"><font size=\"2\" face=\"bold\">TÉCNICO</div></td>";
echo "<td width=\"30\" bgcolor=\"#cccccc\" valign=\"top\"><div align=\"center\"><font size=\"2\" face=\"bold\">Data da inclusão</div></td>";

echo "<td width=\"30\" bgcolor=\"#cccccc\" valign=\"top\"><div align=\"center\"><font size=\"2\" face=\"bold\">ALTERAR STATUS</div></td>";
echo "<td bgcolor=\"#cccccc\" ><a href=\"../logout.php\"><font size=\"1\" face=\"sans-serif\"><font color=\"#FF0000\">SAIR</font></a></div></td>";
echo "</tr>";
date_default_timezone_set( "America/Sao_Paulo" );
$sql_administrar_noticias = "SELECT id, contrato, dia, mes, foto, concluido, nome, data_hora FROM contratos ORDER BY id DESC";
$resultado_administrar_noticias = mysql_query($sql_administrar_noticias)
or die (mysql_error());

if(mysql_num_rows($resultado_administrar_noticias) < 1) {
	echo "<tr>";
	echo "<td width=\"50\" valign=\"top\" colspan=\"6\"><div align=\"center\">Nenhuma notícia encontrada</div></td>";
	echo "</tr>";
}
else {
	while ($linha=mysql_fetch_array($resultado_administrar_noticias)) {
	
		$id = $linha["id"];
		$contrato = $linha["contrato"];
		$dia = $linha["dia"];
		$mes = $linha["mes"];
		$foto = $linha["foto"];		
		$concluido = $linha["concluido"];
        $nome = $linha["nome"];
		$data_hora = date("d-m-Y");
		if($publicado=="S") {
			$publicado = "Sim";
		}
		else {
			$publicado = "Não";
		}

		echo "<tr>";	
		echo "<td width=\"60\" valign=\"top\"><div align=\"center\">$id</div></td>";	
		echo "<td width=\"60\" valign=\"top\"><div align=\"center\">$contrato</div></td>";
		echo "<td width=\"60\" valign=\"top\"><div align=\"center\">$dia</div></td>";
		echo "<td width=\"60\" valign=\"top\"><div align=\"center\">$mes</div></td>";		
		echo "<td width=\"60\" valign=\"top\"><div align=\"center\"><font color=\"#FF0000\">$concluido</font></div></td>";
		echo "<td width=\"60\" valign=\"top\"><div align=\"center\">$nome</div></td>";
		echo "<td width=\"60\" valign=\"top\"><div align=\"center\">$data_hora</div></td>";
		echo "<td width=\"60\" valign=\"top\"><div align=\"center\"><a href=\"alterar_noticia.php?id=$id\">Alterar</a></div></td>";		
		echo "</tr>";
	}
}


?> 

 

 

****noticia_detalhada.php****

 

<html>
<head>
<title>Documento sem título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php 
$id_noticias=$_GET["id_noticias"];// echo "$id_noticias";

$conexao=mysql_connect("localhost","root","1010");
mysql_select_db("noticias");
$sql="SELECT * FROM noticias where id_noticias='$id_noticias'";
$resultado=mysql_query($sql); 
$pegar=mysql_fetch_array($resultado);

echo "$pegar[mensagem]";
?>


</body>
</html>

****verifica.php****

<?php  
$login=$_COOKIE["login"];
$senha=$_COOKIE["senha"];


$conexao=mysql_connect("localhost","root","1010");
mysql_select_db("noticias");
$sql="SELECT * FROM usuarios where login= '$login' and senha='$senha'";
$resultado=mysql_query($sql);
$row=mysql_num_rows($resultado);
if($row==0){ ?>
<script language="JavaScript">
window.location.href="login.php";
</script>
<?php } ?>

 

___FIM___

Compartilhar este post


Link para o post
Compartilhar em outros sites

nessa linha do incluida.php

$resultado=mysql_query($sql);
muda para essa

$resultado = mysql_query( $sql ) or die ( mysql_error() );

pode ser que o usuário do banco n tenha privilégio para inserir

Compartilhar este post


Link para o post
Compartilhar em outros sites

nessa linha do incluida.php

$resultado=mysql_query($sql);
muda para essa

$resultado = mysql_query( $sql ) or die ( mysql_error() );

pode ser que o usuário do banco n tenha privilégio para inserir

 

 

Não vai, o mais estranho é que quando instalo o server pelo xampp funciona normal, mas quando instalo sem ele não grava. Então como havia dito não é problema com o código e sim alguma configuração dos serviços: apache ou php ou mysql ou phpmyadmin, que instalei separados dessa vez. Lembrando que o usuário tem privilégios já foi visto isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo... Vamos eliminar de vez o problema do código, porque se realmente for problema do servidor, seu tópico será movido para o fórum de servidores Web.

 

Execute o código abaixo:

 

<?php
ini_set ( 'display_errors', true );
error_reporting ( E_ALL );
$mysqli = new mysqli ( 'localhost', 'root', '1010', 'forum' );
$mysqli->query ( "INSERT INTO noticias VALUES (null,'titulo','mensagem',1)" );
if (! empty ( $mysqli->error )) {
	printf ( 'Erros foram encontrados - %s', $mysqli->error );
} else {
	$resultado = $mysqli->query ( sprintf ( 'SELECT * FROM noticias WHERE id_noticias = %d', $mysqli->insert_id ) );
	$linha = $resultado->fetch_assoc ();
	echo 'Foi inserido com sucesso a notícia abaixo. <pre>';
	print_r ( $linha );
	echo '</pre>';
}

Poste EXATAMENTE o que aparecer na tela.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe a demora, sei que estão tentando me ajudar, agradeço muito! Segue o resultado na tela:

 

 

Erros foram encontrados - No database selected

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro meu. Na chamada da classe, no quarto parâmetro deve ser colocado o nome do seu banco de dados. Ali onde esta escrito "fórum".

 

Execute novamente e poste o resultado.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro meu. Na chamada da classe, no quarto parâmetro deve ser colocado o nome do seu banco de dados. Ali onde esta escrito "fórum".

 

Execute novamente e poste o resultado.

 

Carlos Eduardo

 

 

"Magina".. segue o resultado:

 

Foi inserido com sucesso a notícia abaixo.

Array

(

[id_noticias] => 7

[titulo] => titulo

[mensagem] => mensagem

[id_usuario] => 1

)

 

 

Erro meu. Na chamada da classe, no quarto parâmetro deve ser colocado o nome do seu banco de dados. Ali onde esta escrito "fórum".

 

Execute novamente e poste o resultado.

 

Carlos Eduardo

 

 

"Magina".. segue o resultado:

 

Foi inserido com sucesso a notícia abaixo.

Array

(

[id_noticias] => 7

[titulo] => titulo

[mensagem] => mensagem

[id_usuario] => 1

)

 

 

 

Puxa inseriu, mas porquê? Não deu certo com o outro código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae ivsouza, beleza?

 

Então cara... Como o exemplo do Matias Rezende funcionou, sendo os dados adicionados, é sinal que seu servidor está operando normalmente.

 

Pelo que vi, o problema parece ser apenas na sintaxe. Note que no seu código, quando você mandou inserir os dados, você considerou que o campo "id_noticia" seria uma string:

 

$sql="INSERT INTO noticias values";
$sql.="('null','$titulo','$mensagem',$id_usuario)";

Porém, pelo próprio exemplo do Matias, ele parece estar configurado como INTEGER. Remove as aspas ali do "null", que deve funfar:

 

$sql="INSERT INTO noticias values";
$sql.="(null,'$titulo','$mensagem',$id_usuario)";

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.