SQL tabel update niet!?
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
require("include/config.inc.php");
require("login.check.inc.php");
require("include/emoticons.php");
// sanitize ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$_POST = RealEscape($_POST);
$_GET = RealEscape($_GET);
$_SERVER = RealEscape($_SERVER);
$id = $_GET['townid'];
// Reactie opslaan :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if (isset($_POST['comment']) && $_POST['text'] != "")
{$query = "INSERT INTO $tab_townposts (itemid,userid,datestamp,text) VALUES
('".$_POST['itemid']."','".$_POST['userid']."',
NOW(),'".$_POST['text']."')";
mysql_query($query);
$query = "UPDATE $tab_town SET datepost='NOW()' WHERE id = '$id'";
mysql_query($query);
header("location: ".$_SERVER['PHP_SELF']."?townid=".$_POST['itemid']);
}
?>
require("include/config.inc.php");
require("login.check.inc.php");
require("include/emoticons.php");
// sanitize ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$_POST = RealEscape($_POST);
$_GET = RealEscape($_GET);
$_SERVER = RealEscape($_SERVER);
$id = $_GET['townid'];
// Reactie opslaan :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if (isset($_POST['comment']) && $_POST['text'] != "")
{$query = "INSERT INTO $tab_townposts (itemid,userid,datestamp,text) VALUES
('".$_POST['itemid']."','".$_POST['userid']."',
NOW(),'".$_POST['text']."')";
mysql_query($query);
$query = "UPDATE $tab_town SET datepost='NOW()' WHERE id = '$id'";
mysql_query($query);
header("location: ".$_SERVER['PHP_SELF']."?townid=".$_POST['itemid']);
}
?>
Het betreft het gedeelte met UPDATE $tab_town. Als er een comment geplaatst wordt komt deze netjes in zijn tabel. De comment wordt gemaakt op een nieuwsbericht waarbij de datum van de laatste comment moet worden opgeslagen. Dit gebeurt met het gedeelte met UPDATE $tab_town.
Er gebeurt gewoon niks. Eerst was de code wat anders, want ik dacht dat het ook met INSERT moest. Toen lukte het me wel om de datepost te inserten op een nieuwe regel. Wat ik wil is dus dat datepost wordt geüpdatet bij het nieuwsbericht dat open staat.
Weet iemand wat? Ik blijf proberen, niks lukt!
Hier nog even apart:
Code (php)
1
2
3
4
2
3
4
<?php
$query = "UPDATE $tab_town SET datepost='NOW()' WHERE id = '$id'";
mysql_query($query);
?>
$query = "UPDATE $tab_town SET datepost='NOW()' WHERE id = '$id'";
mysql_query($query);
?>
Gewijzigd op 19/06/2011 14:19:53 door Ferdi Verbeek
Ik heb hem geüpdatet maar mijn website reageert niet meer :S Zal zo nog eens proberen en met een reactie komen :)
Bouw in ieder geval eerst overal foutafhandeling in, dan kan je tenminste zien wat er fout gaat.
Vreemd mijn website doet het niet meer, kan zelfs niet op plesk komen :(
Ferdi Verbeek op 19/06/2011 14:37:22:
Vreemd mijn website doet het niet meer, kan zelfs niet op plesk komen :(
Dat ligt vast aan de server en niet aan een updatequery lijkt mij.
Klopt, hij doet het weer. Maar de aangepaste query van gerhard doet nog steeds niks :( De cel wordt niet geüpdatet.
Gerhard l op 19/06/2011 14:33:04:
Bouw in ieder geval eerst overal foutafhandeling in, dan kan je tenminste zien wat er fout gaat.
Zal gaan kijken hoe dat moet... Ben al googlen.
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
require("include/config.inc.php");
require("login.check.inc.php");
require("include/emoticons.php");
function showSQLError($sql,$error)
{
echo '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
// sanitize ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$_POST = RealEscape($_POST);
$_GET = RealEscape($_GET);
$_SERVER = RealEscape($_SERVER);
$id = $_GET['townid'];
// Reactie opslaan :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if (isset($_POST['comment']) && $_POST['text'] != "")
{$query = "INSERT INTO $tab_townposts (itemid,userid,datestamp,text) VALUES
('".$_POST['itemid']."','".$_POST['userid']."',
NOW(),'".$_POST['text']."')";
mysql_query($query);
$query = "UPDATE '".$tab_town."' SET datepost=NOW() WHERE id = '".$id."'";
mysql_query($query);
if (($result = mysql_query($query)) === false)
{
# geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($query,mysql_error());
}
}
header("location: ".$_SERVER['PHP_SELF']."?townid=".$_POST['itemid']);
}
?>
require("include/config.inc.php");
require("login.check.inc.php");
require("include/emoticons.php");
function showSQLError($sql,$error)
{
echo '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
// sanitize ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$_POST = RealEscape($_POST);
$_GET = RealEscape($_GET);
$_SERVER = RealEscape($_SERVER);
$id = $_GET['townid'];
// Reactie opslaan :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if (isset($_POST['comment']) && $_POST['text'] != "")
{$query = "INSERT INTO $tab_townposts (itemid,userid,datestamp,text) VALUES
('".$_POST['itemid']."','".$_POST['userid']."',
NOW(),'".$_POST['text']."')";
mysql_query($query);
$query = "UPDATE '".$tab_town."' SET datepost=NOW() WHERE id = '".$id."'";
mysql_query($query);
if (($result = mysql_query($query)) === false)
{
# geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($query,mysql_error());
}
}
header("location: ".$_SERVER['PHP_SELF']."?townid=".$_POST['itemid']);
}
?>
Ik krijg de volgende errors:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''town' SET datepost=NOW() WHERE id = ''' at line 1
UPDATE 'town' SET datepost=NOW() WHERE id = ''
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/townage.nl/httpdocs/topic.php:18) in /var/www/vhosts/townage.nl/httpdocs/topic.php on line 48
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/townage.nl/httpdocs/topic.php on line 59
?>
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''town' SET datepost=NOW() WHERE id = ''' at line 1
UPDATE 'town' SET datepost=NOW() WHERE id = ''
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/townage.nl/httpdocs/topic.php:18) in /var/www/vhosts/townage.nl/httpdocs/topic.php on line 48
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/townage.nl/httpdocs/topic.php on line 59
?>
Volgens mij pakt hij de id niet op van het nieuwsbericht op de pagina. Dat vind ik vreemd, want hij doet het overal op die manier.
Gewijzigd op 19/06/2011 15:07:11 door Ferdi Verbeek
Veld- en kolomnamen nooit tussen quotes:
$query = "UPDATE ".$tab_town." SET
Aangepast. Geen error meer, maar nog geen update in de tabel ook -_-
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
# geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($query,mysql_error());
echo 'Bijgewerkt: ' . mysql_affected_rows() . ' rows';
}
}
?>
# geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($query,mysql_error());
echo 'Bijgewerkt: ' . mysql_affected_rows() . ' rows';
}
}
?>
Of bedoelde je hem zo niet? Ik krijg na het proberen in ieder geval nergens het bericht met bewerkt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
# geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($query,mysql_error());
}
else
{
echo 'Bijgewerkt: ' . mysql_affected_rows() . ' rows';
}
?>
# geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($query,mysql_error());
}
else
{
echo 'Bijgewerkt: ' . mysql_affected_rows() . ' rows';
}
?>
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
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
<?php
require("include/config.inc.php");
require("login.check.inc.php");
require("include/emoticons.php");
function showSQLError($sql,$error)
{
echo '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
// sanitize ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$_POST = RealEscape($_POST);
$_GET = RealEscape($_GET);
$_SERVER = RealEscape($_SERVER);
$id = $_GET['townid'];
// Reactie opslaan :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if (isset($_POST['comment']) && $_POST['text'] != "")
{$query = "INSERT INTO $tab_townposts (itemid,userid,datestamp,text) VALUES
('".$_POST['itemid']."','".$_POST['userid']."',
NOW(),'".$_POST['text']."')";
mysql_query($query);
$query = "UPDATE ".$tab_town." SET datepost=NOW() WHERE id = '".$id."'";
mysql_query($query);
if (($result = mysql_query($query)) === false)
{
# geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($query,mysql_error());
}
else
{
echo 'Bijgewerkt: ' . mysql_affected_rows() . ' rows';
}
}
header("location: ".$_SERVER['PHP_SELF']."?townid=".$_POST['itemid']);
}
?>
require("include/config.inc.php");
require("login.check.inc.php");
require("include/emoticons.php");
function showSQLError($sql,$error)
{
echo '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
// sanitize ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$_POST = RealEscape($_POST);
$_GET = RealEscape($_GET);
$_SERVER = RealEscape($_SERVER);
$id = $_GET['townid'];
// Reactie opslaan :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if (isset($_POST['comment']) && $_POST['text'] != "")
{$query = "INSERT INTO $tab_townposts (itemid,userid,datestamp,text) VALUES
('".$_POST['itemid']."','".$_POST['userid']."',
NOW(),'".$_POST['text']."')";
mysql_query($query);
$query = "UPDATE ".$tab_town." SET datepost=NOW() WHERE id = '".$id."'";
mysql_query($query);
if (($result = mysql_query($query)) === false)
{
# geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($query,mysql_error());
}
else
{
echo 'Bijgewerkt: ' . mysql_affected_rows() . ' rows';
}
}
header("location: ".$_SERVER['PHP_SELF']."?townid=".$_POST['itemid']);
}
?>
Ik begrijp er niks van. Moet iemand misschien meer zien? Of moet ik misschien de id uit de tabel laten ophalen? Lijkt me vreemd maar goed.
Gewijzigd op 19/06/2011 15:45:28 door Ferdi Verbeek
je foutafhandeling is niet goed, lees de tut nog een keertje.
Maar kan dit ook anders? 1 zin lukt me niet en nu ben ik uren bezig om een debug in te bouwen? Als het zo moet prima, maar ik krijg steeds meer problemen op deze manier.
ALTIJD een foutafhandeling inbouwen, uiteindelijk bespaart dat je veel werk.
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
70
71
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
70
71
<?php
require("include/config.inc.php");
require("login.check.inc.php");
require("include/emoticons.php");
# We zetten dit volledig bovenaan
# 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,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
// sanitize ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$_POST = RealEscape($_POST);
$_GET = RealEscape($_GET);
$_SERVER = RealEscape($_SERVER);
$id = $_GET['townid'];
// Reactie opslaan :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if (isset($_POST['comment']) && $_POST['text'] != "")
{$query = "INSERT INTO $tab_townposts (itemid,userid,datestamp,text) VALUES
('".$_POST['itemid']."','".$_POST['userid']."',
NOW(),'".$_POST['text']."')";
mysql_query($query);
$query = "UPDATE ".$tab_town." SET datepost=NOW() WHERE id = '".$id."'";
mysql_query($query);
# Check of query is gelukt
if (($result = mysql_query($query)) === false)
{
# als de query fout is -> foutafhandeling
echo showSQLError($query,mysql_error(),'Fout met database.');
}
else
{
# De query is gelukt, we kijken of er een rij is die dit id heeft.
if(mysql_num_rows($result) == 0)
{
# Er is geen lid met dit id!
echo 'Er is geen lid met dit id!';
}
else
{
#we kunnen onze naam uit de database halen d.m.v. mysql_fetch_assoc
$row = mysql_fetch_assoc($result);
echo $_row['title'];
}
}
header("location: ".$_SERVER['PHP_SELF']."?townid=".$_POST['itemid']);
}
?>
require("include/config.inc.php");
require("login.check.inc.php");
require("include/emoticons.php");
# We zetten dit volledig bovenaan
# 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,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
// sanitize ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$_POST = RealEscape($_POST);
$_GET = RealEscape($_GET);
$_SERVER = RealEscape($_SERVER);
$id = $_GET['townid'];
// Reactie opslaan :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if (isset($_POST['comment']) && $_POST['text'] != "")
{$query = "INSERT INTO $tab_townposts (itemid,userid,datestamp,text) VALUES
('".$_POST['itemid']."','".$_POST['userid']."',
NOW(),'".$_POST['text']."')";
mysql_query($query);
$query = "UPDATE ".$tab_town." SET datepost=NOW() WHERE id = '".$id."'";
mysql_query($query);
# Check of query is gelukt
if (($result = mysql_query($query)) === false)
{
# als de query fout is -> foutafhandeling
echo showSQLError($query,mysql_error(),'Fout met database.');
}
else
{
# De query is gelukt, we kijken of er een rij is die dit id heeft.
if(mysql_num_rows($result) == 0)
{
# Er is geen lid met dit id!
echo 'Er is geen lid met dit id!';
}
else
{
#we kunnen onze naam uit de database halen d.m.v. mysql_fetch_assoc
$row = mysql_fetch_assoc($result);
echo $_row['title'];
}
}
header("location: ".$_SERVER['PHP_SELF']."?townid=".$_POST['itemid']);
}
?>
Ik krijg de volgende errors:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
Notice: Undefined variable: output in /var/www/vhosts/townage.nl/httpdocs/include/functions.inc.php on line 84
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/townage.nl/httpdocs/topic.php on line 66
Er is geen lid met dit id!
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/townage.nl/httpdocs/include/functions.inc.php:84) in /var/www/vhosts/townage.nl/httpdocs/topic.php on line 79
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/townage.nl/httpdocs/topic.php on line 90
?>
Notice: Undefined variable: output in /var/www/vhosts/townage.nl/httpdocs/include/functions.inc.php on line 84
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/townage.nl/httpdocs/topic.php on line 66
Er is geen lid met dit id!
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/townage.nl/httpdocs/include/functions.inc.php:84) in /var/www/vhosts/townage.nl/httpdocs/topic.php on line 79
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/townage.nl/httpdocs/topic.php on line 90
?>
Sorry dat ik zojuist wat gefrustreerd reageerde. Ben al de hele middag bezig met die ene query.