update where id= bepaald record
ik wil dmv een form een bepaald record uit een tabel updaten (?id=bijv:64)
ik heb nu onderstaand script maar kom er niet verder mee.
Kan iemand mij in de goede richting sturen?
<html>
<head>
</head>
<body>
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
$location = 'localhost';
$database = '***';
$username = '***';
$password = '***';
$conn = mysql_connect("$location","$username","$password");
if (!$conn) die ("Could not connect MySQL");
mysql_select_db($database,$conn) or die ("Could not open database");
if(isset($_POST['edit']))
{
$functie = addslashes($_POST['functie']);
mysql_query("UPDATE opdrachten SET functie=$functie WHERE id='$sid'") or die (mysql_error());
echo 'Je gegevens zijn succesvol ge-update<br>';
}
$query = "select * from opdrachten order by id";
$result = mysql_query($query);
?>
$location = 'localhost';
$database = '***';
$username = '***';
$password = '***';
$conn = mysql_connect("$location","$username","$password");
if (!$conn) die ("Could not connect MySQL");
mysql_select_db($database,$conn) or die ("Could not open database");
if(isset($_POST['edit']))
{
$functie = addslashes($_POST['functie']);
mysql_query("UPDATE opdrachten SET functie=$functie WHERE id='$sid'") or die (mysql_error());
echo 'Je gegevens zijn succesvol ge-update<br>';
}
$query = "select * from opdrachten order by id";
$result = mysql_query($query);
?>
<form enctype="multipart/form-data" action="edit.php" method="POST">
New functie: <input type="text" name="functie"><br />
<input type="submit" name="edit" value="edit"></form> <br>
</body>
</html>
2. correcte formafhandeling + controles en validaties
3. correcte mysql foutafhandeling
4. maak geen overbodige variabelen aan
5. php variabelen buiten quotes
6. addslashes dien je in de prullenbak te mikken daar los je niets mee op, maar haal je juist de ellende mee in huis
7. er komen nog wat variabelen uit de lucht vallen
Gewijzigd op 12/11/2010 22:53:20 door Noppes Homeland
inderdaad mankeert er nogal wat.
Het gaat er mij in eerste instantie om dat ik via een link ***.php?id=64 op een pagina kom waar ik via select de data van id=64 ophaal.dit is klaar maar nu wil ik dat via een form deze gegevens gewijzigd kunnen worden.
hoe krijg ik dit voor elkaar?
denk zelf aan update WHERE id=$id maar krijg dit niet werkend.
HELP!!!
Met name wat Noppes zegt: Haal je variabele '$sid' buiten quotes want hij doet nu niks. Wordt nu gewoon gezien als string van 4 karakters $sid.
Gewijzigd op 12/11/2010 23:14:17 door Aad B
maar krijg hem dan nog steeds niet werkend
Heb het idee dat je met de tips van Noppes nog weinig hebt gedaan. Mogelijk dat door de tips je de oplossing vindt.
Code (php)
1
2
3
2
3
<?php
mysql_query("UPDATE opdrachten SET functie=$functie WHERE id='$sid'") or die (mysql_error());
?>
mysql_query("UPDATE opdrachten SET functie=$functie WHERE id='$sid'") or die (mysql_error());
?>
eens van
Code (php)
1
2
3
2
3
<?php
mysql_query("UPDATE opdrachten SET functie= '".mysql_real_escape_string($_POST['functie'])."' WHERE id='".mysql_real_escape_string($_GET['id'])."'") or die (mysql_error());
?>
mysql_query("UPDATE opdrachten SET functie= '".mysql_real_escape_string($_POST['functie'])."' WHERE id='".mysql_real_escape_string($_GET['id'])."'") or die (mysql_error());
?>
Je bent nu jezelf het heeel moeilijk aan het maken door allemaal dubbele variabelen aan te maken.
Gewijzigd op 13/11/2010 09:04:32 door Bart V B
(zet alles boven 'start script' bovenaan indien je dit nog niet hebt)
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
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
<?php
// errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
// sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
// functie voor sql debug
function showSQLError($sql,$error)
{
echo '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
// start van het script
// de query
$sql_update = "UPDATE opdrachten
SET functie= '".mysql_real_escape_string($_POST['functie'])."'
WHERE id='".mysql_real_escape_string($_GET['id'])."'
";
// Check query
if (($result_update = mysql_query($sql_update)) === false)
{
// als de query fout is -> foutafhandeling
echo 'Fout met database.';
// geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($sql_update,mysql_error());
}
}
else
{
// De query is gelukt :)
}
?>
// errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
// sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
// functie voor sql debug
function showSQLError($sql,$error)
{
echo '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
// start van het script
// de query
$sql_update = "UPDATE opdrachten
SET functie= '".mysql_real_escape_string($_POST['functie'])."'
WHERE id='".mysql_real_escape_string($_GET['id'])."'
";
// Check query
if (($result_update = mysql_query($sql_update)) === false)
{
// als de query fout is -> foutafhandeling
echo 'Fout met database.';
// geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($sql_update,mysql_error());
}
}
else
{
// De query is gelukt :)
}
?>
Gewijzigd op 13/11/2010 10:06:57 door Jasper DS
krijg nu foutmelding:
Parse error: syntax error, unexpected $end in /edit.php on line 70
Ben al zo lang bezig met zo iets "eenvoudigs"...maar....wie kan mij helpen?
het script is als volgt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
// sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
// functie voor sql debug
function showSQLError($sql,$error)
{
echo '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
?>
// errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
// sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
// functie voor sql debug
function showSQLError($sql,$error)
{
echo '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
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
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
<?php
$location = 'localhost';
$database = 'xxx';
$username = 'xxx';
$password = 'xxx';
$conn = mysql_connect("$location","$username","$password");
if (!$conn) die ("Could not connect MySQL");
mysql_select_db($database,$conn) or die ("Could not open database");
if(isset($_POST['edit']))
{
$functie = addslashes($_POST['functie']);
$sql_update = "UPDATE opdrachten
SET functie= '".mysql_real_escape_string($_POST['functie'])."'
WHERE id='".mysql_real_escape_string($_GET['id'])."'
";
// Check query
if (($result_update = mysql_query($sql_update)) === false)
{
// als de query fout is -> foutafhandeling
echo 'Fout met database.';
// geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($sql_update,mysql_error());
}
}
else
{
// De query is gelukt :)
}
?>
$location = 'localhost';
$database = 'xxx';
$username = 'xxx';
$password = 'xxx';
$conn = mysql_connect("$location","$username","$password");
if (!$conn) die ("Could not connect MySQL");
mysql_select_db($database,$conn) or die ("Could not open database");
if(isset($_POST['edit']))
{
$functie = addslashes($_POST['functie']);
$sql_update = "UPDATE opdrachten
SET functie= '".mysql_real_escape_string($_POST['functie'])."'
WHERE id='".mysql_real_escape_string($_GET['id'])."'
";
// Check query
if (($result_update = mysql_query($sql_update)) === false)
{
// als de query fout is -> foutafhandeling
echo 'Fout met database.';
// geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($sql_update,mysql_error());
}
}
else
{
// De query is gelukt :)
}
?>
<form enctype="multipart/form-data" action="edit.php" method="POST">
New functie: <input type="text" name="functie"><br />
<input type="submit" name="edit" value="edit"></form> <br>
</body>
</html>
$sql = mysql_query ("UPDATE opdrachten SET functie='".$_POST['functie']."' WHERE id='".$_SESSION['id']."'");
Gewijzigd op 14/11/2010 23:37:18 door Zie Foto
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
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
<?php
$location = 'localhost';
$database = 'xxx';
$username = 'xxx';
$password = 'xxx';
$conn = mysql_connect($location,$username,$password);
if (!$conn) die ("Could not connect MySQL");
{
mysql_select_db($database,$conn) or die ("Could not open database");
}
if(isset($_POST['edit']))
{
$functie = addslashes($_POST['functie']);
$sql_update = "UPDATE opdrachten
SET functie= '".mysql_real_escape_string($_POST['functie'])."'
WHERE id='".mysql_real_escape_string($_GET['id'])."'
";
// Check query
if (($result_update = mysql_query($sql_update)) === false)
{
// als de query fout is -> foutafhandeling
echo 'Fout met database.';
// geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($sql_update,mysql_error());
}
}
else
{
// De query is gelukt :)
}
} // deze dus..
?>
$location = 'localhost';
$database = 'xxx';
$username = 'xxx';
$password = 'xxx';
$conn = mysql_connect($location,$username,$password);
if (!$conn) die ("Could not connect MySQL");
{
mysql_select_db($database,$conn) or die ("Could not open database");
}
if(isset($_POST['edit']))
{
$functie = addslashes($_POST['functie']);
$sql_update = "UPDATE opdrachten
SET functie= '".mysql_real_escape_string($_POST['functie'])."'
WHERE id='".mysql_real_escape_string($_GET['id'])."'
";
// Check query
if (($result_update = mysql_query($sql_update)) === false)
{
// als de query fout is -> foutafhandeling
echo 'Fout met database.';
// geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($sql_update,mysql_error());
}
}
else
{
// De query is gelukt :)
}
} // deze dus..
?>