Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Problema inserimento post sul DB

    Ciao a tutti sto terminando il mio primo sito in php ma ora mi ritrovo davanti ad un problema, quanto effettuo l'inserimento di un post ricevo il seguente messaggio di errore:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"luogo","maggiori info")' at line 1

    qualcuno sa aiutarmi????


    Codice PHP:
    <?
            
            
    //INCLUSIONE DEL FILE DI CLASSE
            
    include 'config.php';
            
    //ISTANZA DELLA CLASSE
            
    $data = new MysqlClass();
            
    //CHIAMATA ALLA CONNESSIONE MYSQL
            
    $data->connetti();
    ?>

    <html>
        <head>
            <title> Milan Club Fabriano</title>
            <link href="css/milanclub.css" rel="stylesheet" type="text/css" />
            <script src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js" type="text/javascript"></script>
            <script src="js/popup.js" type="text/javascript"></script>


    <script src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js" type="text/javascript"></script>
            <script src="js/popup.js" type="text/javascript"></script>
            
                
         <script type="text/javascript" src="js/jquery.ui.core.js"></script>
         <script type="text/javascript" src="js/jquery.ui.datepicker.js"></script>
         
        <script type="text/javascript" src="js/ui.datepicker-it.js"></script>

        <link href="css/jquery-ui.css" rel="stylesheet" type="text/css" />
        
        <link href="css/ui.datepicker.css" rel="stylesheet" type="text/css" />


            
        

        <script type="text/javascript">
            $(document).ready(function(){
                $('#datepickerId').datepicker({ dateFormat: 'dd/mm/yy' });
            });
        </script>

        <script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <script type="text/javascript">
    try {
    var pageTracker = _gat._getTracker("UA-3345784-8");
    pageTracker._trackPageview();
    } catch(err) {}</script>



            



            
        </head>
        
        
        <body bgcolor="#000000" >
        
       


    <div id="contenitore" style="background-image:url(../img/sfondo.gif)"> 

    <div id="linksocial">
        
        [url="http://www.acmilan.com/it"]  [img]../img/milan.gif[/img] [/url]
        
        [url="http://www.facebook.com/group.php?gid=275177796992&v=wall"]  [img]../img/facebook.gif[/img] [/url]
        
        </div>
        
        
        
        <div id="pulsantiera"> 
                <div id="chisiamo" >[url="pagine/chisiamo.php"]Chi Siamo[/url]</div>
            <div id="storia">[url="pagine/storia.php"]Storia[/url]</div>
            <div id="news">[url="index.php"]News[/url]</div>
            <div id="vitadaclub">[url="pagine/vita.php"]Vita da Club[/url]</div>
            <div id="biglietteria">[url="pagine/biglietteria.php"]Abbonamenti[/url]</div>
            <div id="contatti">[url="pagine/contatti.php"]Contatti[/url]</div>
            <div id="guestbook">[url="pagine/guestbook.php"]GuestBook[/url]</div>    
            
            <div class="logo">[url="index.php"][img]img/logo.gif[/img][/url]</div>
        
        </div> 
        
        
        
        
        
        <div id="boxnews"> 
            <?php

    // valorizzazione delle variabili con i parametri dal form
    if(isset($_POST['submit'])&&($_POST['submit']=="Scrivi")){
     
      if(isset(
    $_POST['dove'])){
        
    $dove addslashes(filter_var($_POST['dove'], FILTER_SANITIZE_STRING));
      }
      if(isset(
    $_POST['titolo'])){
        
    $titolo addslashes(filter_var($_POST['titolo'], FILTER_SANITIZE_STRING));
      }
      if(isset(
    $_POST['data'])){
        
    $testo addslashes(filter_var($_POST['data'], FILTER_SANITIZE_STRING));
      }
        if(isset(
    $_POST['info'])){
        
    $info addslashes(filter_var($_POST['info'], FILTER_SANITIZE_STRING));
      }
      
      
    $t "post"# nome della tabella
        
    $v = array ($titolo,$testo,$autore,$info); # valori da inserire
        
    $r =  "titolo_post,data_post,dove_post,info_post"# campi da popolare
     
       // chiamata alla funzione per l'inserimento dei dati
        
    $data->inserisci($t,$v,$r,$q);
        echo 
    "Articolo inserito con successo";
        
    header("Location: gestisci.php");
        
        }else{
            
    //FORM PER L'INSERIMENTO
            
    ?>
            
            <h2>Inserimento Evento:</h2>


            
            <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
            <div align="left">
            
            <div id="datepicker">
            <label>[b]Data:[/b]
    </label>
            <input
                name="datepicker"
                id="datepickerId"
                type="text"
                maxlength="10"
                size="10"
            />



               </div>
            
                [b]Luogo[/b]:

                <input name="autore" type="text"/>



                
                [b]Titolo:[/b]

                <textarea name="titolo" rows="1" cols="50"></textarea>



                
                [b]Maggiori info:[/b]

                <textarea name="info" cols="50" rows="5"></textarea >
                <input name="submit" type="submit" value="Scrivi" />
            </form>
            <?
            
        
    }
        
    ?>
        
        </div>

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, dovresti farci vedere il contenuto della funzione $data->inserisci($t,$v,$r,$q); per comprendere meglio quale possa essere il problema, dato che dalla stringa di errore che ti esce fuori, l'errore è nella scrittura della query.

  3. #3
    Codice PHP:
        //FUNZIONE PER L'INSERIMENTO DEI DATI IN TABELLA
        
    public function inserisci($t,$v,$r,$q null)
        {
            if(isset(
    $this->attiva))
            {
                
    $istruzione .= 'INSERT INTO '.$t;
                if(
    $r != null)
                {
                    
    $istruzione .='('.$r.')';
                }
                for(
    $i 0$i count($v); $i++)
                {
                    if(
    is_string($v[$i]))
                        
    $v[$i] = '"'.$v[$i].'"';
                }
                
    $v implode(','$v);
                
    $istruzione .= 'VALUES ('.$v.')';
                
                
    $query mysql_query($istruzione) or die (mysql_error());
                
            }else{
                return 
    FALSE;
            }
        } 

  4. #4
    fatti stampare la query che generi e vedi che errore ha così puoi correggere quella classe che hai fatto
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Scusami ma sono neofita di php come dovrei fare per stampare a video la query??

  6. #6
    Originariamente inviato da Lorenzomea
    Scusami ma sono neofita di php come dovrei fare per stampare a video la query??
    Codice PHP:

    public function inserisci($t,$v,$r,$q null){

    ....
    echo 
    "\n\n
    query: 
    $istruzione \n\n
    "
    ;
    exit;
    $query mysql_query($istruzione) or die (mysql_error()); 

    }else{ 
                return 
    FALSE
            } 
    }
    ... 
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Grazie mille e scusami ancora

    ricevo questo messaggio

    Codice PHP:
    queryINSERT INTOpost(titolo_postdata_postdove_postinfo_post)VALUES ("csasaas",,"casa","asdadsd"

  8. #8
    vedi che è sbagliata?

    codice:
    INSERT INTOpost(titolo_post, data_post, dove_post, info_post)VALUES ("csasaas",,"casa","asdadsd")
    allora, tra INTO e post ci devi mettere uno spazio (la scrive tutta attaccata)

    data_post nei values è vuoto, o ci metti null o ci metti "now()" o ci metti una data
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    grazie mille il problema era sia lo spazio che la data grazie mille ancora

  10. #10
    Originariamente inviato da Lorenzomea
    grazie mille il problema era sia lo spazio che la data grazie mille ancora
    Riguardo allo spazio la cosa mi sembra strana dato che nel codice da te postato era presente:

    Codice PHP:
    ...
    $istruzione .= 'INSERT INTO '.$t
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.