update mysql
ik heb het volgende probleem.
Ik wil via onderstaande opdracht een kolom wijzigen.
in dit geval de naam.
ik heb 3 variablen:
$defnaam = dit is de naam die momenteel erinstaat.
$field_1 = de nieuwe naam
$wijzig = dit gebruik ik om te controleren of ik de juiste rij te pakken heb.
Dit is de opdracht die ik dacht te gebruiken:
Code (php)
1
2
3
2
3
<?php
mysql_query("UPDATE advertentie SET naam= .$field_1. WHERE tijd = .$wijzig.");
?>
mysql_query("UPDATE advertentie SET naam= .$field_1. WHERE tijd = .$wijzig.");
?>
maar er word niets gewijzigd in de database.
de vars zijn wel goed gevuld.
wanneer ik dus een nieuwe naam aangeef om te veranderen in het form, zie ik dat beide vars bestaan.
vb:
$defnaam = danny
$defnaamnieuw = kaasbroodje
echter krijg ik dit niet in de database gestopt.
Toevoeging op 16/08/2012 17:12:33:
link: http://www.phphulp.nl/php/tutorial/data-verwerking/foutafhandeling-query-sql/735/
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$res = mysql_query("UPDATE advertentie SET naam='".$field_1."' WHERE tijd = '".$wijzig."'");
if($res) {
// true
} else {
// false,toon hier een error met mysql_error().
}
?>
$res = mysql_query("UPDATE advertentie SET naam='".$field_1."' WHERE tijd = '".$wijzig."'");
if($res) {
// true
} else {
// false,toon hier een error met mysql_error().
}
?>
Gewijzigd op 16/08/2012 17:13:18 door - Ariën -
ook met het script van Aar, geen foutmeldingen.
zelfst geef die true aan als ik het laat draaien.
Ik zal het hele script ff plaatsen
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
66
67
68
69
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
66
67
68
69
<?php
if(function_exists('date_default_timezone_set')) { date_default_timezone_set('Europe/Amsterdam'); }
define('LF', "\n");
// Get a value from the $_POST array (case insensitive!!)
function getPost($key, $trim = false, $lowercase = false, $int = false)
{
if(isset($_POST[$key]))
{
$v = stripslashes($_POST[$key]);
if($trim)
{
$v = trim($v);
}
if($int)
{
$v = intval($v);
}
elseif($lowercase)
{
$v = strtolower($v);
}
return $v;
}
return '';
}
// Default values
$field_1 = '';
$sHtml = '';
// Process form
if(empty($_POST['form']) == false)
{
$field_1 = getPost('field_1', true);
}
// Show form
if(empty($_POST['form']) || $sFormError)
{
$sHtml .= '<form action="" method="post">
<input name="form" type="hidden" value="form1">
<h1>Vul a.u.b. het onderstaande formulier in</h1>
' . $sFormError . '
<table border="0" cellpadding="3" cellspacing="0"><tr>
<td align="left" valign="top">verander</td>
<td align="left" valign="top"><input name="field_1" type="text" value="' . htmlentities($field_1) . '"></td>
</tr>
<tr>
<td align="left" valign="top"> </td>
<td align="left" valign="top"><input type="submit" value="Verzenden"></td>
</table>
</form>';
echo $sHtml;
}
else
{
$res = mysql_query("UPDATE advertentie SET naam='".$field_1."' WHERE tijd = '".$wijzig."'");
if($res) { echo"oke done";
} else { echo "fout";
}
};
mysql_close($con);
?>
if(function_exists('date_default_timezone_set')) { date_default_timezone_set('Europe/Amsterdam'); }
define('LF', "\n");
// Get a value from the $_POST array (case insensitive!!)
function getPost($key, $trim = false, $lowercase = false, $int = false)
{
if(isset($_POST[$key]))
{
$v = stripslashes($_POST[$key]);
if($trim)
{
$v = trim($v);
}
if($int)
{
$v = intval($v);
}
elseif($lowercase)
{
$v = strtolower($v);
}
return $v;
}
return '';
}
// Default values
$field_1 = '';
$sHtml = '';
// Process form
if(empty($_POST['form']) == false)
{
$field_1 = getPost('field_1', true);
}
// Show form
if(empty($_POST['form']) || $sFormError)
{
$sHtml .= '<form action="" method="post">
<input name="form" type="hidden" value="form1">
<h1>Vul a.u.b. het onderstaande formulier in</h1>
' . $sFormError . '
<table border="0" cellpadding="3" cellspacing="0"><tr>
<td align="left" valign="top">verander</td>
<td align="left" valign="top"><input name="field_1" type="text" value="' . htmlentities($field_1) . '"></td>
</tr>
<tr>
<td align="left" valign="top"> </td>
<td align="left" valign="top"><input type="submit" value="Verzenden"></td>
</table>
</form>';
echo $sHtml;
}
else
{
$res = mysql_query("UPDATE advertentie SET naam='".$field_1."' WHERE tijd = '".$wijzig."'");
if($res) { echo"oke done";
} else { echo "fout";
}
};
mysql_close($con);
?>
Toevoeging op 16/08/2012 17:54:53:
Hey ik heb hem al..tnx
Toevoeging op 16/08/2012 17:59:54:
STUPID me....
sorry het werkt wel, had een verkeerde variable meegenomen..
tnx voor de moeite
Quote:
$wijzig = dit gebruik ik om te controleren of ik de juiste rij te pakken heb.
Dus jij identificeert een rij op datum. Dat is niet zo slim. Één van eerste 'regels' in normalisatie is dat je een unieke kolom (primary key) in een tabel hebt waarop je rijen kunt identificeren. Een datum, zoals jij het toepast, is niet per definitie uniek
Gewijzigd op 16/08/2012 18:46:11 door Ger van Steenderen
mm tnx ga ik meteen aanpassen.!