Mysql UPDATE
ik snap niks van mysql update daarom krijg ik ook een error.
Mijn code
Code (php)
1
$Mysql = mysql_query("UPDATE gegevens SET Naam='$Naam', Adres='$Adres', Woonplaats='$Woonplaats', TelefoonAlgemeen='$TelefoonAlgemeen', Bedrijfsnaam='$Bedrijfsnaam', Notitie='$Notitie'");
Wat is hier fout aan?
Als je de error geeft kunnen we makkelijker kijken wat er fout is.
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/a2663326/public_html/database/gegevens_veranderen.php on line 4
Code (php)
1
2
3
2
3
<?php
$Mysql = mysql_query("UPDATE gegevens SET Naam='".$Naam."', Adres='".$Adres."', Woonplaats='".$Woonplaats."', TelefoonAlgemeen='".$TelefoonAlgemeen."', Bedrijfsnaam='".$Bedrijfsnaam."', Notitie='".$Notitie);
?>
$Mysql = mysql_query("UPDATE gegevens SET Naam='".$Naam."', Adres='".$Adres."', Woonplaats='".$Woonplaats."', TelefoonAlgemeen='".$TelefoonAlgemeen."', Bedrijfsnaam='".$Bedrijfsnaam."', Notitie='".$Notitie);
?>
Je vergat de puntjes, en de ", vergeet ook niet te checken of alle variabelen wel bestaan / een waarde hebben ;)
Gewijzigd op 01/01/1970 01:00:00 door /home/joost
Bouw je query altijd op in een variabele bijvoorbeeld $query en print deze variabele om te debuggen. Dit geeft je een beeld wat je op MySQl afvuurt en geeft je de gelegenheid om te testen. copy and paste de query en test deze op de MySQl prompt. Dit is slechts een voorbeeld neem ik aan ? In de daadwerkelijke query heb je toch wel een where clausule ??
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/a2663326/public_html/database/gegevens_veranderen.php on line 4
Maar als ik op bewerk klikt past hij het wel aan..
@John ik heb alleen where naam = '.$naam.'
Gewijzigd op 01/01/1970 01:00:00 door Wesley PHP
Fatsoenlijke foutafhandeling ontbreekt. Dus we kunnen alleen maar gokken. Ik gok op lege vars.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
//dit bovenaan je script
ini_set('display_errors',1);
error_reporting(E_ALL);
//je query met al een beetje foutafhandeling
$query = "UPDATE gegevens SET Naam='".$Naam."', Adres='".$Adres."', Woonplaats='".$Woonplaats."', TelefoonAlgemeen='".$TelefoonAlgemeen."', Bedrijfsnaam='".$Bedrijfsnaam."', Notitie='".$Notitie;
$Mysql = mysql_query($query);
if(!$Mysql)
{
echo 'ERROR IN QUERY, query:' . $query . '<br>' . PHP_EOL;
echo mysql_error();
}
?>
//dit bovenaan je script
ini_set('display_errors',1);
error_reporting(E_ALL);
//je query met al een beetje foutafhandeling
$query = "UPDATE gegevens SET Naam='".$Naam."', Adres='".$Adres."', Woonplaats='".$Woonplaats."', TelefoonAlgemeen='".$TelefoonAlgemeen."', Bedrijfsnaam='".$Bedrijfsnaam."', Notitie='".$Notitie;
$Mysql = mysql_query($query);
if(!$Mysql)
{
echo 'ERROR IN QUERY, query:' . $query . '<br>' . PHP_EOL;
echo mysql_error();
}
?>
Er gaat al iets in je query fout, daardoor werkt je mysql_fetch_assoc niet.
nee, ECHT lezen
vertaal hem anders eens naar het nederlands..
nog niet?
mysql_fetch_assoc($var) doe jij op lijn 4, waar $var niet een geldig resultaat is van mysql_query()
Heldert dit wat op?
Ik heb die fout afhandeling erbij gedaan en ik krijg nog steeds dezelfde error.
Mysql_fetch_assoc() werkt niet op een UPDATE statement.
Gerben schreef op 03.12.2009 15:58:
Mysql_fetch_assoc() werkt niet op een UPDATE statement.
Lol, daar heb ik gewoon overheen gekeken. Ik mis gewoon al de foutafhandeling :p
Tamara schreef op 03.12.2009 16:00:
WHERE is in principe niet nodig. Maar ik denk inderdaad dat de TS het wel nodig heeft..
Gerben schreef op 03.12.2009 16:07:
WHERE is in principe niet nodig. Maar ik denk inderdaad dat de TS het wel nodig heeft..
Tamara schreef op 03.12.2009 16:00:
WHERE is in principe niet nodig. Maar ik denk inderdaad dat de TS het wel nodig heeft..
Wist niet dat het niet verplicht was, maar lijkt mij dat het beter is als je where wel in je query gebruikt, om eventuele fouten te voorkomen.
Hoe moet ik nu de gegevens uit mijn database halen en als value's gebruiken zonder mysql_fetch_assoc?
Plak je gehele script is ipv alleen die ene regel, het is mij niet geheel duidelijk wat je bedoeling is.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
include_once('config.php');
if($_POST['Aanpassen'] == 'Aanpassen') {
$query = "UPDATE gegevens SET Naam='.$Naam.' Adres='.$Adres.', Woonplaats='.$Woonplaats.', TelefoonAlgemeen='.$TelefoonAlgemeen.', Bedrijfsnaam='.$Bedrijfsnaam.', Notitie='.$Notitie.' WHERE ID='.$ID.'";
}
if($_POST['Verwijderen'] == 'Verwijderen') {
$Delete = mysql_query("DELETE FROM gegevens WHERE ID='.$ID.'");
header("Location: #");
}
while($row = $query) {
$ID = $row['ID'];
$naam = $row['Naam'];
$adres = $row['Adres'];
$woonplaats = $row['Woonplaats'];
$telefoonAlgemeen = $row['TelefoonAlgemeen'];
$bedrijfsnaam = $row['Bedrijfsnaam'];
$notitie = $row['Notitie'];
$email = $row['Email'];
}
?>
<link href="stijl.css" rel="stylesheet" type="text/css">
<form action='<?php echo $_SERVER['SCRIPT_NAME']; ?>' method='post'>
<table>
<tr>
<td>Naam:</td>
<td><input type='text' name='Naam' size= '42' value='<?php echo "$naam"; ?>' /></td>
</tr>
<tr>
<td>Adres:</td>
<td><input type='text' name='Adres' size='42' value='<?php echo "$adres"; ?>' /></td>
</tr>
<tr>
<td>Woonplaats:</td>
<td><input type='text' name='Woonplaats' size='42' value='<?php echo "$woonplaats"; ?>' /></td>
</tr>
<tr>
<td>Telefoon Algemeen:</td>
<td><input type='text' name='TelefoonAlgemeen' size='42' value='<?php echo "$telefoonAlgemeen"; ?>' /></td>
</tr>
<tr>
<td>Bedrijfsnaam:</td>
<td><input type='text' name='Bedrijfsnaam' size='42' value='<?php echo "$bedrijfsnaam"; ?>' /></td>
</tr>
<tr>
<td>E-mail Adres:</td>
<td><input type='text' name='Email' size='42' value='<?php echo "$email"; ?>' /></td>
</tr>
<tr>
<td valign='top'>Notitie:</td>
<td><textarea name='Notitie' cols='41' rows='10'><?php echo "$notitie"; ?></textarea></td>
</tr>
<tr>
<td valign='right'><input type='submit' name='Aanpassen' value='Aanpassen' />
<input type='submit' name='Verwijderen' value='Verwijderen' /></td>
</tr>
</table>
</form>
<br />
include_once('config.php');
if($_POST['Aanpassen'] == 'Aanpassen') {
$query = "UPDATE gegevens SET Naam='.$Naam.' Adres='.$Adres.', Woonplaats='.$Woonplaats.', TelefoonAlgemeen='.$TelefoonAlgemeen.', Bedrijfsnaam='.$Bedrijfsnaam.', Notitie='.$Notitie.' WHERE ID='.$ID.'";
}
if($_POST['Verwijderen'] == 'Verwijderen') {
$Delete = mysql_query("DELETE FROM gegevens WHERE ID='.$ID.'");
header("Location: #");
}
while($row = $query) {
$ID = $row['ID'];
$naam = $row['Naam'];
$adres = $row['Adres'];
$woonplaats = $row['Woonplaats'];
$telefoonAlgemeen = $row['TelefoonAlgemeen'];
$bedrijfsnaam = $row['Bedrijfsnaam'];
$notitie = $row['Notitie'];
$email = $row['Email'];
}
?>
<link href="stijl.css" rel="stylesheet" type="text/css">
<form action='<?php echo $_SERVER['SCRIPT_NAME']; ?>' method='post'>
<table>
<tr>
<td>Naam:</td>
<td><input type='text' name='Naam' size= '42' value='<?php echo "$naam"; ?>' /></td>
</tr>
<tr>
<td>Adres:</td>
<td><input type='text' name='Adres' size='42' value='<?php echo "$adres"; ?>' /></td>
</tr>
<tr>
<td>Woonplaats:</td>
<td><input type='text' name='Woonplaats' size='42' value='<?php echo "$woonplaats"; ?>' /></td>
</tr>
<tr>
<td>Telefoon Algemeen:</td>
<td><input type='text' name='TelefoonAlgemeen' size='42' value='<?php echo "$telefoonAlgemeen"; ?>' /></td>
</tr>
<tr>
<td>Bedrijfsnaam:</td>
<td><input type='text' name='Bedrijfsnaam' size='42' value='<?php echo "$bedrijfsnaam"; ?>' /></td>
</tr>
<tr>
<td>E-mail Adres:</td>
<td><input type='text' name='Email' size='42' value='<?php echo "$email"; ?>' /></td>
</tr>
<tr>
<td valign='top'>Notitie:</td>
<td><textarea name='Notitie' cols='41' rows='10'><?php echo "$notitie"; ?></textarea></td>
</tr>
<tr>
<td valign='right'><input type='submit' name='Aanpassen' value='Aanpassen' />
<input type='submit' name='Verwijderen' value='Verwijderen' /></td>
</tr>
</table>
</form>
<br />
Gewijzigd op 01/01/1970 01:00:00 door Wesley PHP
Wesley schreef op 03.12.2009 16:20:
Hoe moet ik nu de gegevens uit mijn database halen en als value's gebruiken zonder mysql_fetch_assoc?
Dan doe je weer een SELECT statement.
Om te controleren of je UPDATE gelukt is (persoonlijk doe ik dit nooit) kun je mysql_affected_rows() gebruiken.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
include_once('config.php');
$Mysql = mysql_query("SELECT * FROM gegevens WHERE ID='$ID'");
while($row = mysql_fetch_assoc($Mysql)) {
$ID = $_GET['ID'];
$Naam = $row['Naam'];
$Adres = $row['Adres'];
$Woonplaats = $row['Woonplaats'];
$TelefoonAlgemeen = $row['TelefoonAlgemeen'];
$Bedrijfsnaam = $row['Bedrijfsnaam'];
$Notitie = $row['Notitie'];
$Email = $row['Email'];
$Datum = $row['Datum'];
$Tijd = $row['Tijd'];
$Door = $row['Door'];
}
?>
<link href="stijl.css" rel="stylesheet" type="text/css">
<form action='' method='post'>
<table>
<tr>
<td>Naam:</td>
<td><input type='text' name='Naam' size= '42' value='<?php echo $Naam; ?>' /></td>
</tr>
<tr>
<td>Adres:</td>
<td><input type='text' name='Adres' size='42' value='<?php echo $Adres; ?>' /></td>
</tr>
<tr>
<td>Woonplaats:</td>
<td><input type='text' name='Woonplaats' size='42' value='<?php echo $Woonplaats; ?>' /></td>
</tr>
<tr>
<td>Telefoon Algemeen:</td>
<td><input type='text' name='TelefoonAlgemeen' size='42' value='<?php echo $TelefoonAlgemeen; ?>' /></td>
</tr>
<tr>
<td>Bedrijfsnaam:</td>
<td><input type='text' name='Bedrijfsnaam' size='42' value='<?php echo $Bedrijfsnaam; ?>' /></td>
</tr>
<tr>
<td>E-mail Adres:</td>
<td><input type='text' name='Email' size='42' value='<?php echo $Email; ?>' /></td>
</tr>
<tr>
<td valign='top'>Notitie:</td>
<td><textarea name='Notitie' cols='41' rows='10'><?php echo $Notitie; ?></textarea></td>
</tr>
<tr>
<td></td>
<td><input type='submit' name='Aanpassen' value='Aanpassen' />
<input type='submit' name='Verwijderen' value='Verwijderen' /></td>
</tr>
</table>
</form>
<br />
<?php
include_once('gegevens_ophalen.php');
?>
include_once('config.php');
$Mysql = mysql_query("SELECT * FROM gegevens WHERE ID='$ID'");
while($row = mysql_fetch_assoc($Mysql)) {
$ID = $_GET['ID'];
$Naam = $row['Naam'];
$Adres = $row['Adres'];
$Woonplaats = $row['Woonplaats'];
$TelefoonAlgemeen = $row['TelefoonAlgemeen'];
$Bedrijfsnaam = $row['Bedrijfsnaam'];
$Notitie = $row['Notitie'];
$Email = $row['Email'];
$Datum = $row['Datum'];
$Tijd = $row['Tijd'];
$Door = $row['Door'];
}
?>
<link href="stijl.css" rel="stylesheet" type="text/css">
<form action='' method='post'>
<table>
<tr>
<td>Naam:</td>
<td><input type='text' name='Naam' size= '42' value='<?php echo $Naam; ?>' /></td>
</tr>
<tr>
<td>Adres:</td>
<td><input type='text' name='Adres' size='42' value='<?php echo $Adres; ?>' /></td>
</tr>
<tr>
<td>Woonplaats:</td>
<td><input type='text' name='Woonplaats' size='42' value='<?php echo $Woonplaats; ?>' /></td>
</tr>
<tr>
<td>Telefoon Algemeen:</td>
<td><input type='text' name='TelefoonAlgemeen' size='42' value='<?php echo $TelefoonAlgemeen; ?>' /></td>
</tr>
<tr>
<td>Bedrijfsnaam:</td>
<td><input type='text' name='Bedrijfsnaam' size='42' value='<?php echo $Bedrijfsnaam; ?>' /></td>
</tr>
<tr>
<td>E-mail Adres:</td>
<td><input type='text' name='Email' size='42' value='<?php echo $Email; ?>' /></td>
</tr>
<tr>
<td valign='top'>Notitie:</td>
<td><textarea name='Notitie' cols='41' rows='10'><?php echo $Notitie; ?></textarea></td>
</tr>
<tr>
<td></td>
<td><input type='submit' name='Aanpassen' value='Aanpassen' />
<input type='submit' name='Verwijderen' value='Verwijderen' /></td>
</tr>
</table>
</form>
<br />
<?php
include_once('gegevens_ophalen.php');
?>
Alleen zet hij niks in de values..
SanThe schreef op 03.12.2009 15:49:
Fatsoenlijke foutafhandeling ontbreekt. Dus we kunnen alleen maar gokken. Ik gok op lege vars.
Zet dit bovenin je script.