login  Naam:   Wachtwoord: 
Registreer je!
 Forum

gewone query - phpMyAdmin

Offline ikkedikke - 09/08/2005 18:02 (laatste wijziging 09/08/2005 18:03)
Avatar van ikkedikkePHP expert ik heb een beetje een probleem met een query:
  1. <?
  2. $sSql = 'UPDATE `gebruikers`
  3. SET `sUser` = \''.addslashes($_POST['sUser']).'\',
  4. `sRef_dir` = \''.addslashes($_POST['sRef_dir']).'\',
  5. `iRechten` = \''.intval($_POST['iRechten']).'\',
  6. `bFtp_def_auto_login` = \''.addslashes($_POST['bFtp_def_auto_login']).'\',
  7. `sFtp_def_server` = \''.addslashes($_POST['sFtp_def_server']).'\',
  8. `iFtp_def_port` = \''.intval($_POST['iFtp_def_port']).'\',
  9. `sFtp_def_user` = \''.addslashes($_POST['sFtp_def_user']).'\',
  10. `sFtp_def_pass` = \''.addslashes($_POST['sFtp_def_pass']).'\'
  11. WHERE `id` = \''.$_GET['id'].'\'';
als ik deze in een script laat uitvoeren worden alle waarden gewist. maar als ik dezelfde query laat echo'en en in phpmyadmin uitvoer, doet deze het wel...
heeft iemand een oplossing?
zo wordt de query uitgevoerd in het script:
  1. <?
  2. $sSql = 'UPDATE `gebruikers`
  3. SET `sUser` = \''.addslashes($_POST['sUser']).'\',
  4. `sRef_dir` = \''.addslashes($_POST['sRef_dir']).'\',
  5. `iRechten` = \''.intval($_POST['iRechten']).'\',
  6. `bFtp_def_auto_login` = \''.addslashes($_POST['bFtp_def_auto_login']).'\',
  7. `sFtp_def_server` = \''.addslashes($_POST['sFtp_def_server']).'\',
  8. `iFtp_def_port` = \''.intval($_POST['iFtp_def_port']).'\',
  9. `sFtp_def_user` = \''.addslashes($_POST['sFtp_def_user']).'\',
  10. `sFtp_def_pass` = \''.addslashes($_POST['sFtp_def_pass']).'\'
  11. WHERE `id` = \''.$_GET['id'].'\'';
  12. // testen van query
  13. /*/
  14. echo $sSql;
  15. /*/
  16. if(!mysql_query($sSql))
  17. {
  18. error('Gebruiker kon niet aangepast worden!');
  19. echo $sSql.'<br />';
  20. }
  21. else
  22. {
  23. echo 'ID #'.$_GET['id'].' succesvol aangepast!';
  24. }
  25. //*/
  26. ?>

hij geeft gewoon 'ID #3 succesvol aangepast!';

4 antwoorden

Gesponsorde links
Offline Joel - 09/08/2005 19:13 (laatste wijziging 09/08/2005 19:15)
Avatar van Joel Eigenaar Waarom doe je het niet gewoon zo:

  1. <?php
  2. $sSql = "UPDATE `gebruikers`
  3. SET `sUser` = '".addslashes($_POST['sUser'])."', ...";
  4. ?>


In plaats van al die backslashes, is helemaal niet nodig als je met " en ' werkt.. En als je de variabelen mooi buiten haakjes zet, op de manier dat ik het doe, is die addslashes() en daarna stripslashes() helemaal niet nodig.
Offline ikkedikke - 10/08/2005 15:36
Avatar van ikkedikke PHP expert dat heb ik geprobeert maar nu doet die het nog niet...
hij zegt dat de query gelukt is, maar alle waarden die die moest aanpassen zijn dan leeg... iemand nog een idee?
Offline Tuinstoel - 10/08/2005 15:39
Avatar van Tuinstoel PHP expert Doe eens dit, kun je kijken of je posts wel iets bevatten:
  1. <?php
  2. foreach($_POST as $sKey => $sValue)
  3. { echo $sKey.' - '.$Value.'<br />'; }
  4. ?>
Offline ikkedikke - 10/08/2005 15:43
Avatar van ikkedikke PHP expert als ik de query echo, klopt alles, alles is ingevuld en als ik em copier naar PhpMyAdmin doetie wel wat die zou moeten doen...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.211s