Hoi,
IK heb een een script die en record zou moeten updaten. Maar als ik die run doet ie niks. De db blijft hetzelfde en er komen geen errors. Wie ziet wat ik fout doe?
Hier is het script
<?
$upusername = $_POST['username'] ;
$uppassword = md5($_POST['password']) ;
$upemail = $_POST['email'] ;
$uprealname = $_POST['realname'] ;
$upmsn = $_POST['msn'] ;
$upicq = $_POST['icq'] ;
$upaim = $_POST['aim'] ;
$upyahoo = $_POST['yahoo'] ;
$upwebsite = $_POST['website'] ;
$upberoep = $_POST['beroep'] ;
$upinteressen = $_POST['interessen'] ;
$upleefdtijd = $_POST['leefdtijd'] ;
$uplevel = $_POST['level'] ;
$uprefs = $_POST['refs'] ;


mysql_query("UPDATE users
SET username ='$upusername', email ='$upemail', realname ='$uprealname', msn ='$upmsn', icq ='$upicq', aim ='$upaim', yahoo ='$upyahoo', website ='$upwebsite', beroep ='$upberoep', interessen ='$upinteressen', leeftijd ='$upleeftijd', level ='$uplevel', refs ='$uprefs'
WHERE pid ='5'"); mysql_error() ;
?>
Jan Koehoorn schreef op 18.02.2006 19:48
@ SanThe: als hij deze tip van mij heeft opgevolgde had hij een error moeten krijgen.


Toch snap ik het niet. Al zouden alle $vars leeg zijn, dan zou de query nog steeds moeten worden uitgevoerd. En als de WHERE geen resultaat geeft krijg je 0 affected_rows.
@ Martijn: run je de query zoals ik voorstelde in mijn 19:48 reply?
martijn schreef op 18.02.2006 19:49
@jan: dan komt de querie gewoon erop staan


Laat dat eens hier zien...
@ SanThe: precies, hij moet dus een error krijgen.
zo gaat ie nu
$upusername = $_POST['username'] ;
$uppassword = md5($_POST['password']) ;
$upemail = $_POST['email'] ;
$uprealname = $_POST['realname'] ;
$upmsn = $_POST['msn'] ;
$upicq = $_POST['icq'] ;
$upaim = $_POST['aim'] ;
$upyahoo = $_POST['yahoo'] ;
$upwebsite = $_POST['website'] ;
$upberoep = $_POST['beroep'] ;
$upinteressen = $_POST['interessen'] ;
$upleefdtijd = $_POST['leefdtijd'] ;
$uplevel = $_POST['level'] ;
$uprefs = $_POST['refs'] ;


mysql_query("UPDATE users
SET username=$upusername, email=$upemail, realname=$uprealname, msn=$upmsn, icq=$upicq, aim=$upaim, yahoo=$upyahoo, website=$upwebsite, beroep=$upberoep, interessen=$upinteressen, leeftijd=$upleeftijd, level=$uplevel, refs=$uprefs
WHERE pid = $uid") or trigger_error (mysql_error ());
$sql = "
UPDATE users
SET
username = '$upusername',
email = '$upemail',
realname = '$uprealname',
msn = '$upmsn',
icq = '$upicq',
aim = '$upaim',
yahoo = '$upyahoo',
website = '$upwebsite',
beroep = '$upberoep',
interessen = '$upinteressen',
leeftijd = '$upleeftijd',
level = '$uplevel',
refs = '$uprefs'
WHERE pid = 5";
echo $sql;
echo 'Aantal gewijzigd = ' . mysql_affected_rows();

en dit geeft hij als output:

UPDATE users SET username = 'martijnc', email = '[email protected]', realname = 'Martijn Croonen', msn = '[email protected]', icq = 'test', aim = '', yahoo = 'ets', website = '', beroep = 'tes', interessen = 'qsdf', leeftijd = '', level = '1', refs = 'qsdf' WHERE pid = 5Aantal gewijzigd = -1
Hier mis ik heel wat enkele quotes:

mysql_query("UPDATE users
SET username=$upusername, email=$upemail, realname=$uprealname, msn=$upmsn, icq=$upicq, aim=$upaim, yahoo=$upyahoo, website=$upwebsite, beroep=$upberoep, interessen=$upinteressen, leeftijd=$upleeftijd, level=$uplevel, refs=$uprefs
WHERE pid = $uid") or trigger_error (mysql_error ());

edit: je moest alleen de enkele quotes bij WHERE pid = weghalen
Die had weg gedaan om te testen
nu ziet er zo uit:
$sql = "UPDATE users
SET
username = '$upusername',
email = '$upemail',
realname = '$uprealname',
msn = '$upmsn',
icq = '$upicq',
aim = '$upaim',
yahoo = '$upyahoo',
website = '$upwebsite',
beroep = '$upberoep',
interessen = '$upinteressen',
leeftijd = '$upleeftijd',
level = '$uplevel',
refs = '$uprefs'
WHERE pid = 5";
mysql_query($sql) or trigger_error (mysql_error ());
Doe eens dit:

<?php
//
$upusername = $_POST['username'];
$uppassword = md5($_POST['password']);
$upemail = $_POST['email'];
$uprealname = $_POST['realname'];
$upmsn = $_POST['msn'];
$upicq = $_POST['icq'];
$upaim = $_POST['aim'];
$upyahoo = $_POST['yahoo'];
$upwebsite = $_POST['website'];
$upberoep = $_POST['beroep'];
$upinteressen = $_POST['interessen'];
$upleefdtijd = $_POST['leefdtijd'];
$uplevel = $_POST['level'];
$uprefs = $_POST['refs'];

$sql = "
UPDATE users
SET
username = '$upusername',
email = '$upemail',
realname = '$uprealname',
msn = '$upmsn',
icq = '$upicq',
aim = '$upaim',
yahoo = '$upyahoo',
website = '$upwebsite',
beroep = '$upberoep',
interessen = '$upinteressen',
leeftijd = '$upleeftijd',
level = '$uplevel',
refs = '$uprefs'
WHERE pid = 5";

mysql_query ($sql) or trigger_error (mysql_error ());
?>
Zet even de laatste regel erbij in je script.

$sql = "
UPDATE users
SET
username = '$upusername',
email = '$upemail',
realname = '$uprealname',
msn = '$upmsn',
icq = '$upicq',
aim = '$upaim',
yahoo = '$upyahoo',
website = '$upwebsite',
beroep = '$upberoep',
interessen = '$upinteressen',
leeftijd = '$upleeftijd',
level = '$uplevel',
refs = '$uprefs'
WHERE pid = 5";
echo $sql;

mysql_query($sql) or trigger_error (mysql_error ());
En zet nog even bovenaan je script:

error_reporting (E_ALL);

Reageren