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

Too Few Arguments na sprintf. Ajuda?


Lucas Weizenmann

Pergunta

sou novo no forum. boa tarde!

estou criando uma atualização de notícias... mas.. .->

Warning: sprintf() [function.sprintf]: Too few arguments in /diretorio/arquivo.php on line 47

Entendi que, estou selecionando menos campos do que o UPDATE SET precisa...

ou seja....

sprintf("SELECT title, content FROM tb_notice WHERE id = %s", $parametro_upnotice);
mas aqui estou setando para os mesmos dois campos:
sprintf("UPDATE tb_notice SET title=%s, content=%s, WHERE id=%s",
                    GetSQLValueString($_POST['title'], "text"),
                    GetSQLValueString($_POST['content'], "text"));
o parametro é:
$parametro_upnotice = "-1";
if (isset($_GET['id'])) {
  $parametro_upnotice = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}

a tabela tem mais campos, mas como é só pra atualizar o post, não estou setando a hora da inserção do post e a foto estou enviando por outro bloco do codigo... .

Alguém??

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

sprintf("UPDATE tb_notice SET title=%s, content=%s, WHERE id=%s",
                    GetSQLValueString($_POST['title'], "text"),
                    GetSQLValueString($_POST['content'], "text"));

Aqui você tá usando 3 variáveis do tipo string (3 "%s"), e tá dando apenas dois valores, o certo seria 3!

Acho que é isso!

Falta você falar qual o ID que é ;x

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

certo!...

fiz diferente e funcionou legal, ou seja, não retorna erros... mas...

parece que a algo errado no script, porque simplesmente nada acontece. é para atualizar uma noticia...

eu to meio perdido quanto á organização do codigo. quando dá o submit no form de update, a foto precisa ser apagada e substituida por uma outra que foi selecionada.

Não está ocorrendo nenhuma alteração: alguém pode dar uma ajuda? o codigo tá pronto, parece-me que falta organizar ele só...

<?php
require_once "includes/conectar.php";
$parametro_upnotice = "-1";
if (isset($_GET['id'])) {
  $parametro_upnotice = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
$id = $_GET['id'];
$title = $_GET['title'];
$content = $_GET['content'];

mysql_select_db("marlos_empes", $conn);
$select = ("SELECT title, content FROM tb_notice WHERE id=$id");
$select2 = ("SELECT foto FROM tb_notice WHERE id=$id");
echo $select;
$query_upnotice = sprintf($select, $parametro_upnotice);
$query_upnotice2 = sprintf($select2, $parametro_upnotice);
$upnotice = mysql_query($query_upnotice, $conn) or die(mysql_error());
$upnotice2 = mysql_query($query_upnotice2, $conn) or die(mysql_error());
$row_upnotice = mysql_fetch_assoc($upnotice);
$row_upnotice2 = mysql_fetch_assoc($upnotice2);
$totalRows_upnotice = mysql_num_rows($upnotice);
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{função}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  $updateSQL = sprintf("UPDATE tb_notice SET title='$title', content='$content', WHERE id=$id",
                    GetSQLValueString($_POST['title'], "text"),                                            
                    GetSQLValueString($_POST['content'], "text"),
                    GetSQLValueString($_POST['id'], "int"));
                
    
    $arquivo = $_FILES["foto"]; -> input type file está sendo chamado aqui?
    $config["tamanho"] = 50688;
    $config["largura"] = 800;
    $config["altura"]  = 800;
    

if($arquivo==true)
{  vericação se é imagem }

    else{    
        unlink("notice_images/".$row_upnotice2['foto']);  -> apagar fica aqui?
        $nome_foto = $_FILES['foto']['name']; -> essa variavel está pegando o nome da foto?
               $nome_foto = md5(uniqid(time())) . "." . $ext[1]; -> vai converter para md5?
        $grava = (mysql_query("INSERT INTO marlos_empes.tb_notice (foto) VALUES ('$imagem_nome')"));
        
              preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
        
          
              $imagem_dir = "notice_images/" . $imagem_nome;

              move_uploaded_file($arquivo["tmp_name"], $imagem_dir);


        echo "Notícia enviada com sucesso!";
    }}

  
}
?>

não entendi como essa logica não funciona. sou iniciante. está mesmo errado? nenhum erro é retornado. e if dentro de if eu uso assim mesmo? -> if{if}

?

obrigado ate entã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,2k
    • Posts
      652k
×
×
  • Criar Novo...