UPDATE werkt niet
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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
$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() ;
?>
$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() ;
?>
Haal de enkele quotes eens weg? En run je query eens zo:
mysql_query(blabla) or trigger_error (mysql_error ());
Nu vergelijkt hij die met $uid die hij uit een cookie haalt.
Heb gedaan wat je zei. Werkt nog niet
Toch al bedankt voor de hulp
echo 'Aantal gewijzigd = ' . mysql_affected_rows();
Aantal gewijzigd = -1
Heb je wel een record met pid = 5?
Ja
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
//
$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;
?>
//
$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;
?>
martijn:
Aantal gewijzigd = -1
Aha.....
Als de laatste query faalde, geeft deze functie -1 terug.
Jan:
En run je query eens zo:
mysql_query(blabla) or trigger_error (mysql_error ());
mysql_query(blabla) or trigger_error (mysql_error ());
@ SanThe: als hij deze tip van mij heeft opgevolgde had hij een error moeten krijgen.
@santhe wat bedoel je daarmee?
Jan:
@ 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:
@jan: dan komt de querie gewoon erop staan
Laat dat eens hier zien...
@ SanThe: precies, hij moet dus een error krijgen.
$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
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
Gewijzigd op 18/02/2006 20:01:00 door Jan Koehoorn
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 ());
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?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 ());
?>
//
$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 ());
?>
$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 ());
error_reporting (E_ALL);