syntax fout		
			
		
		 		
				
		
                        
                 
            
            
				
                
                    eric                       
             
             
                        
                HTML interesse 
				
				ik heb een hele vreemde fout, het script hieronder werkt op mn ene host wel en bij de andere server van dezelfde host niet daar zegt die dit: 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 '' at line 1
    
    
        
            
                <?php
if(isset($_GET['id'])){
$id = $_GET["id"];
$query="SELECT * FROM nieuws WHERE id = '$id'";
$result = mysql_query($query) or die (mysql_error());
$show = mysql_fetch_object($result);
echo "<table border='1' bordercolor='#000000' cellspacing='0' style='border-collapse: collapse;' cellspacing='0' width='90%'>\n";
echo "  <tr>\n";
echo "    <td colspan='2'><b>$show->titel</b></td>\n";
echo "  </tr>\n";
echo "  <tr>\n";
echo "    <td colspan='2'>".nl2br($show->bericht)."</td>\n";
echo "  </tr>\n";
echo "  <tr>\n";
echo "    <td width='250'><a href='javascript:history.back()'>Terug</a></td>\n";
echo "    <td width='250' align='left'>Gepost op: $show->datum</td>\n";
echo "  </tr>\n";
echo "</table>\n<br>\n";
if (isset($_POST['submit'])) {
$nid = $_POST["nid"];
$naam = $_POST["naam"];
$email = $_POST["email"];
$reactie = $_POST["reactie"];
if ($naam=="")
{ $error=$error."<table cellspacing='0' width='90%'><tr><td align='center'><span style='color:red'><font>Je hebt geen <b>naam</b> ingevuld!</font></span></td></tr></table>\n"; }
if ($email=="")
{ $error=$error."<table cellspacing='0' width='90%'><tr><td align='center'><span style='color:red'><font>Je hebt geen <b>email</b> ingevuld!</font></span></td></tr></table>\n"; }
if ($reactie=="")
{ $error=$error."<table cellspacing='0' width='90%'><tr><td align='center'><span style='color:red'><font>Je hebt geen <b>reactie</b> ingevuld!</font></span></td></tr></table>\n"; }
if ($error) {
?>
<table border='1' bordercolor='#000000' cellspacing='0' style='border-collapse: collapse;' cellpadding='0' cellspacing='0' width='90%'>
 <tr>
  <td>Reageer</td>
 </tr>
 <tr>
  <td><?php echo $error; ?></td>
 </tr>
</table>
<?php
}else {
$query="INSERT INTO nieuwsreacties (nid, naam, email, reactie) VALUES ('$nid', '$naam', '$email', '$reactie');";
mysql_query($query) or die(mysql_error());
?>
<table border='1' bordercolor='#000000' cellspacing='0' style='border-collapse: collapse;' cellpadding='0' cellspacing='0' width='90%'>
 <tr>
  <td>Reageer</td>
 </tr>
 <tr>
  <td align='center'>Reactie is succesvol toegevoegd!<br><a href='<?php echo $_SERVER["REQUEST_URI"]; ?>'>Klik hier</a> om naar het nieuwsbericht te gaan.</td>
 </tr>
</table>
<?php
     }
}else {
$query="SELECT * FROM nieuwsreacties WHERE nid = '$id'";
$result = mysql_query($query) or die (mysql_error());
while ($show = mysql_fetch_object($result)) {
echo "<table border='1' bordercolor='#000000' cellspacing='0' style='border-collapse: collapse;' cellpadding='0' cellspacing='0' width='90%'>\n";
echo " <tr>\n";
echo "  <td>Door: <a href='mailto:$show->email'>$show->naam</a></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo "  <td>$show->reactie</td>\n";
echo " </tr>\n";
echo "</table>\n<br>\n";
}
echo "<form action='' method='post'>\n";
echo "<table border='1' bordercolor='#000000' cellspacing='0' style='border-collapse: collapse;' cellpadding='0' cellspacing='0' width='90%'>\n";
echo " <tr>\n";
echo "  <td>Reageer</td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo "  <td>\n";
echo "  <table border='0' cellpadding='0' cellspacing='0' width='100%'>\n";
echo "   <tr>\n";
echo "    <td width='250'>Naam:</td>\n";
echo "    <td width='250'><input type='text' name='naam' size='31'></td>\n";
echo "   </tr>\n";
echo "   <tr>\n";
echo "    <td width='250'>Email:</td>\n";
echo "    <td width='250'><input type='text' name='email' size='31'></td>\n";
echo "   </tr>\n";
echo "   <tr>\n";
echo "    <td width='250' valign='top'>Reactie:</td>\n";
echo "    <td width='250'><textarea name='reactie' rows='4' cols='25'></textarea></td>\n";
echo "   </tr>\n";
echo "  </table>\n";
echo "  <center><input type='hidden' value='$id' name='nid'><input type='submit' value='Reageer' name='submit'> <input type='reset' value='Leegmaken' name='reset'></center>\n";
echo "  </td>\n";
echo " </tr>\n";
echo "</table>\n";
echo "</form>\n";
     }
}else {
$query = "SELECT * FROM nieuws ORDER BY id DESC LIMIT 0," . $limit . "";
$result = mysql_query($query) or die (mysql_error());
while ($show = mysql_fetch_object($result)) {
echo "<table border='1' bordercolor='#000000' style='border-collapse: collapse;' cellspacing='0' width='90%'>\n";
echo " <tr>\n";
echo "  <td colspan='2'><b>$show->titel</b></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo "  <td colspan='2'>";
      $langbericht = $show->bericht;
      $maxlengte = 250;
      if (strlen($langbericht) > $maxlengte) {
      $afgekortbericht = substr($langbericht,0,247)."...";
      } else {
      $afgekortbericht = $langbericht;
      }
echo nl2br($afgekortbericht);
echo "</td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo "  <td width='250'><a href='?id=$show->id'>Lees verder</a></td>\n";
echo "  <td width='250' align='left'>Gepost op: $show->datum</td>\n";
echo " </tr>\n";
echo "</table>\n<br>\n";
               }
     }
?> 
             
            <?php 
$id  =  $_GET [ "id" ] ; 
 
$query = "SELECT * FROM nieuws WHERE id = '$id '" ; 
 
 
echo "<table border='1' bordercolor='#000000' cellspacing='0' style='border-collapse: collapse;' cellspacing='0' width='90%'>\n " ; echo "    <td colspan='2'><b>$show->titel </b></td>\n " ; echo "    <td colspan='2'>" . nl2br ( $show -> bericht ) . "</td>\n " ; echo "    <td width='250'><a href='javascript:history.back()'>Terug</a></td>\n " ; echo "    <td width='250' align='left'>Gepost op: $show->datum </td>\n " ;  
if  ( isset ( $_POST [ 'submit' ] ) )  { $nid  =  $_POST [ "nid" ] ; 
$naam  =  $_POST [ "naam" ] ; 
$email  =  $_POST [ "email" ] ; 
$reactie  =  $_POST [ "reactie" ] ; 
 
if  ( $naam == "" ) 
{  $error = $error . "<table cellspacing='0' width='90%'><tr><td align='center'><span style='color:red'><font>Je hebt geen <b>naam</b> ingevuld!</font></span></td></tr></table>\n " ;  } 
if  ( $email == "" ) 
{  $error = $error . "<table cellspacing='0' width='90%'><tr><td align='center'><span style='color:red'><font>Je hebt geen <b>email</b> ingevuld!</font></span></td></tr></table>\n " ;  } 
if  ( $reactie == "" ) 
{  $error = $error . "<table cellspacing='0' width='90%'><tr><td align='center'><span style='color:red'><font>Je hebt geen <b>reactie</b> ingevuld!</font></span></td></tr></table>\n " ;  } 
 
if  ( $error )  { 
?> 
 
<table border='1' bordercolor='#000000' cellspacing='0' style='border-collapse: collapse;' cellpadding='0' cellspacing='0' width='90%'>
 <tr>
  <td>Reageer</td>
 </tr>
 <tr>
  <td>
<?php  echo $error ;  ?> </td>
 </tr>
</table>
 
<?php 
} else  { 
$query = "INSERT INTO nieuwsreacties (nid, naam, email, reactie) VALUES ('$nid ', '$naam ', '$email ', '$reactie ');" ; 
?> 
 
<table border='1' bordercolor='#000000' cellspacing='0' style='border-collapse: collapse;' cellpadding='0' cellspacing='0' width='90%'>
 <tr>
  <td>Reageer</td>
 </tr>
 <tr>
  <td align='center'>Reactie is succesvol toegevoegd!<br><a href='
<?php  echo $_SERVER [ "REQUEST_URI" ] ;  ?> '>Klik hier</a> om naar het nieuwsbericht te gaan.</td>
 </tr>
</table>
 
<?php 
     } 
} else  { 
$query = "SELECT * FROM nieuwsreacties WHERE nid = '$id '" ; 
 
 
echo "<table border='1' bordercolor='#000000' cellspacing='0' style='border-collapse: collapse;' cellpadding='0' cellspacing='0' width='90%'>\n " ; echo "  <td>Door: <a href='mailto:$show->email '>$show->naam </a></td>\n " ; echo "  <td>$show->reactie </td>\n " ; } 
echo "<form action='' method='post'>\n " ; echo "<table border='1' bordercolor='#000000' cellspacing='0' style='border-collapse: collapse;' cellpadding='0' cellspacing='0' width='90%'>\n " ; echo "  <td>Reageer</td>\n " ; echo "  <table border='0' cellpadding='0' cellspacing='0' width='100%'>\n " ; echo "    <td width='250'>Naam:</td>\n " ; echo "    <td width='250'><input type='text' name='naam' size='31'></td>\n " ; echo "    <td width='250'>Email:</td>\n " ; echo "    <td width='250'><input type='text' name='email' size='31'></td>\n " ; echo "    <td width='250' valign='top'>Reactie:</td>\n " ; echo "    <td width='250'><textarea name='reactie' rows='4' cols='25'></textarea></td>\n " ; echo "  <center><input type='hidden' value='$id ' name='nid'><input type='submit' value='Reageer' name='submit'> <input type='reset' value='Leegmaken' name='reset'></center>\n " ;      } 
} else  { 
$query  =  "SELECT * FROM nieuws ORDER BY id DESC LIMIT 0,"  .  $limit  .  "" ; 
 
 
echo "<table border='1' bordercolor='#000000' style='border-collapse: collapse;' cellspacing='0' width='90%'>\n " ; echo "  <td colspan='2'><b>$show->titel </b></td>\n " ; echo "  <td colspan='2'>" ;       $langbericht  =  $show -> bericht ; 
      $maxlengte  =  250 ; 
      if  ( strlen ( $langbericht )  >  $maxlengte )  {        $afgekortbericht  =  substr ( $langbericht , 0 , 247 ) . "..." ;        }  else  { 
      $afgekortbericht  =  $langbericht ; 
      } 
echo "  <td width='250'><a href='?id=$show->id '>Lees verder</a></td>\n " ; echo "  <td width='250' align='left'>Gepost op: $show->datum </td>\n " ;                } 
     } 
?> 
 
         
     
 				
				 
              
        
		
				
		11 antwoorden 
                
                     
                
                    
		
		
	             
 
            
                    
                         
                    
                    
                        
                            Fenrir                             
                         
                     
                    
                        PHP expert Ergens wordt een variabele niet goed in de query gezet. Dus controleer of alle variabelen kloppen die je in query's zet:
    
    
        
            
                $query="INSERT INTO nieuwsreacties (nid, naam, email, reactie) VALUES ('$nid', '$naam', '$email', '$reactie');"; 
             
            $query = "INSERT INTO nieuwsreacties (nid, naam, email, reactie) VALUES ('$nid ', '$naam ', '$email ', '$reactie ');" ; 
 
         
     
  
                      
                
                    
                         
                    
                    
                        
                            Tuinstoel                             
                         
                     
                    
                        PHP expert addslashes() vergeten, ben het wel zeker. 
                      
                
                    
                         
                    
                    
                        
                            simontjeuh (laatste wijziging 15/06/2005 20:29)                             
                         
                     
                    
                        HTML interesse ik denk dat de fout hier zit:; ";  <-- die eerste ; dus 
                      
                
                    
                         
                    
                    
                        
                            eric (laatste wijziging 16/06/2005 12:53)                             
                         
                     
                    
                        HTML interesse Heb het een beetje aan zitten passen maar werkt nog niet.  
                      
                
                    
                         
                    
                    
                        
                            TFOL (laatste wijziging 16/06/2005 15:31)                             
                         
                     
                    
                        PHP beginner zet de variabelen in die query is tussen '". ."' ipv ' '
    
    
        
            
                
<?php
//onderstaand stukje script:
$query="INSERT INTO nieuwsreacties (nid, naam, email, reactie) VALUES ('$nid', '$naam', '$email', '$reactie')";
//moet worden:
$query="INSERT INTO nieuwsreacties ('nid', 'naam', 'email', 'reactie') VALUES ('".$nid."', '".$naam."', '".$email."', '".$reactie."')";
/* --------------------------------------------- \\
|  -> bij alle variabelen in query's moet dit <-  |
\\ --------------------------------------------- */
?>
 
             
            <?php 
 
//onderstaand stukje script: 
 
$query = "INSERT INTO nieuwsreacties (nid, naam, email, reactie) VALUES ('$nid ', '$naam ', '$email ', '$reactie ')" ; 
 
//moet worden: 
 
$query = "INSERT INTO nieuwsreacties ('nid', 'naam', 'email', 'reactie') VALUES ('" . $nid . "', '" . $naam . "', '" . $email . "', '" . $reactie . "')" ; 
 
/* --------------------------------------------- \\ 
|  -> bij alle variabelen in query's moet dit <-  | 
\\ --------------------------------------------- */ 
?> 
 
         
     
  
                      
                
                    
                         
                    
                    
                        
                            eric                             
                         
                     
                    
                        HTML interesse Krijg nog steeds dezelfde fout. Ben er wel achter gekomen dat als ik het script in een iframe het wel werkt :S 
                      
                
                    
                         
                    
                    
                        
                            leendertW (laatste wijziging 17/06/2005 17:29)                             
                         
                     
                    
                        PHP beginner @TFOL  
                      
                
                    
                         
                    
                    
                        
                            nemesiskoen (laatste wijziging 17/06/2005 17:29)                             
                         
                     
                    
                        PHP expert waarom nog zoveel reacties (foute) als de oplossing al is gegeven: tuinstoel had gelijk met zijn addslashes()
    
    
        
            
                $query="SELECT * FROM nieuws WHERE id = " $id; 
             
            $query = "SELECT * FROM nieuws WHERE id = "  $id ; 
 
         
     
  
    
    
        
            
                $query="SELECT * FROM nieuws WHERE id = ". $id; 
             
            $query = "SELECT * FROM nieuws WHERE id = " .  $id ; 
 
         
     
   
                      
                
                    
                         
                    
                    
                        
                            leendertW (laatste wijziging 17/06/2005 17:30)                             
                         
                     
                    
                        PHP beginner nemesiskoen  
                      
                
                    
                         
                    
                        
		
		
	             
 
                
Dit onderwerp is gesloten .