Gilmargpc 0 Denunciar post Postado Outubro 10, 2008 Bom pessoal, to fazendo o curso dw, php e msql do Leandro Vieira, da imasters, mas não to conseguindo completar uma aula, qndo crio a pagina para inserir as notícias, faço tudo como descrito no curso, mas na hora de inserir noticia aparece a mensagem "Column 'not_usuario_id' cannot be null" mas não to conseguindo identificar o erro, alguém poderia me dar uma força? <?php require_once('../Connections/Conncurso.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $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"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO noticias (not_titulo, not_conteudo, not_data, not_status, not_fonte, not_usuario_id) VALUES (%s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['not_titulo'], "text"), GetSQLValueString($_POST['not_conteudo'], "text"), GetSQLValueString($_POST['not_data'], "date"), GetSQLValueString($_POST['not_status'], "text"), GetSQLValueString($_POST['not_fonte'], "text"), GetSQLValueString($_POST['not_usuario_id'], "text")); mysql_select_db($database_Conncurso, $Conncurso); $Result1 = mysql_query($insertSQL, $Conncurso) or die(mysql_error()); $insertGoTo = "index.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); } if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO noticias (not_titulo, not_conteudo, not_data, not_status, not_fonte, not_usuario_id) VALUES (%s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['not_titulo'], "text"), GetSQLValueString($_POST['not_conteudo'], "text"), GetSQLValueString($_POST['not_data'], "date"), GetSQLValueString($_POST['not_status'], "text"), GetSQLValueString($_POST['not_fonte'], "text"), GetSQLValueString($_POST['not_usuario_id'], "text")); mysql_select_db($database_Conncurso, $Conncurso); $Result1 = mysql_query($insertSQL, $Conncurso) or die(mysql_error()); $insertGoTo = "index.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); } $colname_rsUsuarioLogado = "-1"; if (isset($_SESSION['MM_username'])) { $colname_rsUsuarioLogado = $_SESSION['MM_username']; } mysql_select_db($database_Conncurso, $Conncurso); $query_rsUsuarioLogado = sprintf("SELECT * FROM usuarios WHERE usu_email = %s", GetSQLValueString($colname_rsUsuarioLogado, "text")); $rsUsuarioLogado = mysql_query($query_rsUsuarioLogado, $Conncurso) or die(mysql_error()); $row_rsUsuarioLogado = mysql_fetch_assoc($rsUsuarioLogado); $totalRows_rsUsuarioLogado = mysql_num_rows($rsUsuarioLogado); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Projeto: Portal de Notícias [ Área Administrativa ]</title> <style type="text/css" media="screen"> <!-- @import url(../css/style_portal_admin.css); --> </style> </head> <body> <!-- Aproveite este simples modelo, e aprenda um pouco sobre Tableless --> <div id="global"> <div id="topo"> <h1>Portal de Notícias [ Admin ]</h1> </div> <!-- / Head --> <div id="menu"> <ul> <li><a href="index.php">Início do Admin</a></li> <li><a href="#">Log out</a></li> <li><a href="cadastro_usuario.php">Cadastrar usuário</a></li> <li><a href="noticia_inserir.php">Cadastrar notícias</a></li> </ul> </div> <!-- / Menu --> <div id="conteudo_admin"> <h2>Cadastro das notícias</h2> <p> </p> <p align="center"> </p> <p> </p> <form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1"> <table align="center"> <tr valign="baseline"> <td nowrap="nowrap" align="right">Not_titulo:</td> <td><input type="text" name="not_titulo" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right" valign="top">Not_conteudo:</td> <td><textarea name="not_conteudo" cols="50" rows="5"></textarea> </td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Not_data:</td> <td><input type="text" name="not_data" value="<?php echo date('y/m/d'); ?>" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Not_status:</td> <td><select name="not_status"> <option value="on" <?php if (!(strcmp("on", ""))) {echo "SELECTED";} ?>>on</option> <option value="off" <?php if (!(strcmp("off", ""))) {echo "SELECTED";} ?>>off</option> </select></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Not_fonte:</td> <td><input type="text" name="not_fonte" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right"> </td> <td><input name="Submit" type="submit" value="Insert record" /></td> </tr> </table> <input type="hidden" name="not_usuario_id" value="<?php echo $row_rsUsuarioLogado['usu_id']; ?>"> <input type="hidden" name="MM_insert" value="form1" /> </form> <p> </p> <p> </p> <p> </p> </div> <!-- / Conteudo Admin --> <div id="rodape"> <h4>Rodapé</h4> </div> <!-- / Rodapé --> </div> <!-- / Global --> </body> </html> <?php mysql_free_result($rsUsuarioLogado); ?> Compartilhar este post Link para o post Compartilhar em outros sites
milisystem 1 Denunciar post Postado Outubro 10, 2008 olá amigo esse erro Column 'not_usuario_id' cannot be null quer dizer que o campo not_usuario_id nao pode ser nulo então você deve ir lá no seu banco de dados e colocá-lo como auto_increment pois dessa forma ele ser incerementado automaticamente de 1 em 1´ entendeu? Compartilhar este post Link para o post Compartilhar em outros sites
Gilmargpc 0 Denunciar post Postado Outubro 11, 2008 olá amigo esse erro Column 'not_usuario_id' cannot be null quer dizer que o campo not_usuario_id nao pode ser nulo então você deve ir lá no seu banco de dados e colocá-lo como auto_increment pois dessa forma ele ser incerementado automaticamente de 1 em 1´ entendeu? consulta SQL: ALTER TABLE `noticias` CHANGE `not_usuario_id` `not_usuario_id` CHAR( 2 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL AUTO_INCREMENT Mensagens do MySQL : #1063 - Incorrect column specifier for column 'not_usuario_id' deu certo não, deu outro erro!! Compartilhar este post Link para o post Compartilhar em outros sites
milisystem 1 Denunciar post Postado Outubro 13, 2008 e aí cara quase isso é que esse campo tem que ser do tipo int senão não dá certo tenta aí Compartilhar este post Link para o post Compartilhar em outros sites
Gilmargpc 0 Denunciar post Postado Outubro 13, 2008 Tb não deu certo amigo, resolvi colocando o not_usuario_id como null, deu certo, mas ao acrescentar uma noticia aparesceu ~2, e cadastrou 2 noticias iguais, como resolvo isto, e tem algum problema colocar esta coluna como null? Compartilhar este post Link para o post Compartilhar em outros sites
milisystem 1 Denunciar post Postado Outubro 13, 2008 quando vai cadastrar ele cadastra duas de uma vez? não entendi direito me explica melhor e quanto ao not null deu algum erro Compartilhar este post Link para o post Compartilhar em outros sites
Gilmargpc 0 Denunciar post Postado Outubro 13, 2008 Mostrando registros 0 - 1 (~2 total, Consulta levou 0.0005 segundos) Pode ser aproximado. Veja o FAQ 3.11 Bom, oq você me falou para fazer não deu certo, só deu certo qndo mudei o padrão de not_usuario_id para null, ai consegui cadastrar as noticias, mas como eu disse qndo cadastro uma noticia, no banco de dados aparescem 2 noticias iguais. Compartilhar este post Link para o post Compartilhar em outros sites
Cífro13 0 Denunciar post Postado Junho 15, 2011 a forma correta de se criar uma coluna inteira, chave primaria, not null e auto_increment é essa: id INT(3) NOT NULL AUTO_INCREMENT PRIMARY KEY Compartilhar este post Link para o post Compartilhar em outros sites