login  Naam:   Wachtwoord: 
Registreer je!
 Forum

SQL Error (Opgelost)

Offline MisterF - 12/02/2008 21:14
Avatar van MisterFNieuw lid
Citaat:
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 'n account af. ' at line 1


Ik heb een helpdesk systeem gemaakt en nu stelt 1 van mijn klanten een vraag waar een ' in zit. Hier zit geloof ik het probleem in alleen weet niet hoe ik dit moet oplossen. Suggesties?

10 antwoorden

Gesponsorde links
Offline skillat2 - 12/02/2008 21:15
Avatar van skillat2 HTML beginner Kan je de code posten, zonder code kan ik alleen gissen.
Offline Dark_Paul - 12/02/2008 21:16 (laatste wijziging 12/02/2008 21:17)
Avatar van Dark_Paul PHP ver gevorderde Ja.
Post je code hier eens (alleen het relevante deel met de query).

Ow, sorry, niet goed gelezen. De klant stelt aan jou 'website' een vraag, het is geen fout in de website van de klant.
Offline thedutchduke - 12/02/2008 21:16 (laatste wijziging 12/02/2008 21:17)
Avatar van thedutchduke Nieuw lid Probeer eens wat code te posten...

Waarschijnlijk krijg je de waarde binnen via een textfield of -area, en daarin staat waarschijnlijk een '...die zou je dus moeten escapen door een \ ervoor te zetten...

[edit]
Net te laat
[/edit]
Offline MisterF - 12/02/2008 21:20
Avatar van MisterF Nieuw lid
  1. <tr>
  2. <td>Antwoord:</td>
  3. <td><textarea name=messages cols=40 rows=8><?=$messsage; ?></textarea></td>
  4. </tr>


Dit is het stukje waar hij de informatie weghaalt.
Offline skillat2 - 12/02/2008 21:26 (laatste wijziging 12/02/2008 21:26)
Avatar van skillat2 HTML beginner Kan je de SQL query ook posten ?
Offline MisterF - 12/02/2008 21:28
Avatar van MisterF Nieuw lid
  1. $sql2 = mysql_query("SELECT * FROM helpdesk WHERE id = '$id'");
  2. $tick = mysql_fetch_array($sql2);
  3. $messsage = "Beste ".$tick['username']."<br><br><b>Uw vraag was:</b> <br>".$tick['message']."<br><br><b>Iemand van de staff heeft het volgende antwoord gegeven:</b><br><br>".$_POST['messages']."<br><br>We hopen dat we u hebben geholpen met uw vraag.<br><b>De staff.";
  4. $date = date("H:i:s d-m-Y");
  5. $message = mysql_real_escape_string($message);
  6. mysql_query("INSERT INTO `[messages]` (`time`, `IP`, `from`, `to`, `subject`, `message`) VALUES (NOW(),'{$_SERVER['REMOTE_ADDR']}','Helpdesk','$tick[username]','Helpdesk','$messsage')") OR die(mysql_error());
  7. mysql_query("UPDATE helpdesk SET closed = '$username' WHERE id = '$id'");
  8. echo "<font color=#FFFFFF>Het bericht is verzonden.<meta http-equiv=Refresh content=0;url=hd.php?page=view>";
Offline thedutchduke - 12/02/2008 21:49
Avatar van thedutchduke Nieuw lid
MisterF schreef:
[..code..]

En wat heb je in de textarea ingevuld? Waarschijnlijk een tekst met een " ' " erin??
Offline nielsvdwal - 12/02/2008 21:55
Avatar van nielsvdwal PHP gevorderde addslashes() over je input heenhalen voordat je het in de database zet.. deze functie zet er automatisch een \ voor zodat je geen problemen krijgt met deze dingen (')..
Offline MisterF - 12/02/2008 22:08
Avatar van MisterF Nieuw lid Heel erg bedankt nielsvdwal
Offline Martijn - 12/02/2008 22:11 (laatste wijziging 12/02/2008 22:14)
Avatar van Martijn Crew PHP het is sowieso handig om even een functie te maken die je text correct maakt voor gebruikt, die op te slaan als functies.php en in dit soort pagina's include 

  1. function prep_char($string){
  2. $string=addslashes($string);
  3. $string=htmlentities($string);
  4. return $string;
  5. }


en dan alles wat door gebruikers word ingetypt door die functie halen
  1. $titel=prep_char($_POST{'titel']);

als voorbeeldje 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.22s