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

Inclusão


Guest Vilmar

Pergunta

Tenho instalado apache 2.0.49, mysql 4.0.20, php 5, phpmyadmin 2.6.0rc1

O que está errado neste código abaixo? Estou tentando incluir uma imagem num banco de dados mysql com esse código em php e ele dá mensagem que o campo imagem não pode ser nulo e se eu modificar o tipo do campo para aceitar nulo ele salva o registro no banco com o campo imagem nulo (em branco).

O que está errado no código???

O que devo mudar no código???

Não consigo salvar a imagem no banco!

Agradeço quem me ajudar

<?php require_once('Connections/conexao.php'); ?>

<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $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 imagens (codigo, formato, imagem) VALUES (%s, %s, %s)",

GetSQLValueString($_POST['codigo'], "int"),

GetSQLValueString($_POST['formato'], "text"),

GetSQLValueString($_POST['imagem'], "text"));

mysql_select_db($database_conexao, $conexao);

$Result1 = mysql_query($insertSQL, $conexao) or die(mysql_error());

$insertGoTo = "http://www.uol.com.br";

if (isset($_SERVER['QUERY_STRING'])) {

$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";

$insertGoTo .= $_SERVER['QUERY_STRING'];

}

header(sprintf("Location: %s", $insertGoTo));

}

mysql_select_db($database_conexao, $conexao);

$query_Recordset1 = "SELECT * FROM imagens";

$Recordset1 = mysql_query($query_Recordset1, $conexao) or die(mysql_error());

$row_Recordset1 = mysql_fetch_assoc($Recordset1);

$totalRows_Recordset1 = mysql_num_rows($Recordset1);

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>Untitled Document</title>

</head>

<body>

<form action="<?php echo $editFormAction; ?>" method="post" enctype="multipart/form-data" name="form1">

<table align="center">

<tr valign="baseline">

<td nowrap align="right">Codigo:</td>

<td><input type="text" name="codigo" value="" size="32"></td>

</tr>

<tr valign="baseline">

<td nowrap align="right">Formato:</td>

<td><input type="text" name="formato" value="" size="32"></td>

</tr>

<tr valign="baseline">

<td nowrap align="right">Imagem:</td>

<td><input type="file" name="file"></td>

</tr>

<tr valign="baseline">

<td nowrap align="right">&nbsp;</td>

<td><input type="submit" value="Insert record"></td>

</tr>

</table>

<input type="hidden" name="MM_insert" value="form1">

</form>

<p>&nbsp;</p>

</body>

</html>

<?php

mysql_free_result($Recordset1);

?>

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
imagens você pega com $_FILES["imagem"];

olha um exemplo meu

Upload de foto e salvando o path no banco

http://scriptbrasil.com.br/forum/index.php...ic=28743&st=120

Você disse que imagens se pega com $_FILES["imagem];

Mas onde coloco $_FILES["imagem"]; no meu código???

Em quais lugares???

Se puderes modifique o meu código pra mim e poste aqui.

Agradeço sua atenção

Link para o comentário
Compartilhar em outros sites

  • 0
GetSQLValueString($_POST['imagem'], "text"));

GetSQLValueString($_FILES['imagem], "text"));

Mudei no meu código GetSQLValueString($_POST['imagem'], "text"));

para GetSQLValueString($_FILES['imagem'], "text")); e ele tá salvando no banco a palavra array em vez de salvar uma imagem.

O que faço?

Link para o comentário
Compartilhar em outros sites

  • 0
Cara pega o meu exemplo la no tópico de script

e da uma olhada como que eu fiz e adapta no seu

se tem que usar a função move ou copy pra fazer o upload da imagem

olha la que você consegue

Fabyo

Ao rodar o seu script ele dá a seguinte mensagem na janela do browser:

Parse error: syntax error, unexpected T_STRING in C:\Arquivos de programas\Apache Group\Apache2\htdocs\dwbd\insere.php on line 46

Na linha 46 temos mysql_query("INSERT INTO tabela VALUES ('', '$arquivo_nome')");

O que faço?

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