SQL tabel update niet!?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Ferdi Verbeek

Ferdi Verbeek

19/06/2011 14:17:51
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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']);
   }

?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query
= "UPDATE $tab_town SET datepost='NOW()' WHERE id = '$id'";
mysql_query($query);
?>
Gewijzigd op 19/06/2011 14:19:53 door Ferdi Verbeek
 
PHP hulp

PHP hulp

08/11/2024 20:51:01
 
Gerhard l

gerhard l

19/06/2011 14:21:07
Quote Anchor link
je code gaat op veel meer punten fout maargoed je query:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
= "UPDATE '".$tab_town."' SET datepost=NOW() WHERE id = '".$id."'";
?>
Gewijzigd op 19/06/2011 14:21:23 door gerhard l
 
Ferdi Verbeek

Ferdi Verbeek

19/06/2011 14:31:33
Quote Anchor link
Dank je wel! Wat bedoel je precies?

Ik heb hem geüpdatet maar mijn website reageert niet meer :S Zal zo nog eens proberen en met een reactie komen :)
 
Gerhard l

gerhard l

19/06/2011 14:33:04
Quote Anchor link
Bouw in ieder geval eerst overal foutafhandeling in, dan kan je tenminste zien wat er fout gaat.
 
Ferdi Verbeek

Ferdi Verbeek

19/06/2011 14:37:22
Quote Anchor link
Vreemd mijn website doet het niet meer, kan zelfs niet op plesk komen :(
 
- SanThe -

- SanThe -

19/06/2011 14:42:36
Quote Anchor link
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.
 
Ferdi Verbeek

Ferdi Verbeek

19/06/2011 14:50:21
Quote Anchor link
Klopt, hij doet het weer. Maar de aangepaste query van gerhard doet nog steeds niks :( De cel wordt niet geüpdatet.
 
- SanThe -

- SanThe -

19/06/2011 14:54:09
Quote Anchor link
Tja, ga dan dit eens doen:

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.
 
Ferdi Verbeek

Ferdi Verbeek

19/06/2011 14:57:42
Quote Anchor link
Zal gaan kijken hoe dat moet... Ben al googlen.
 
- SanThe -

- SanThe -

19/06/2011 15:01:32
 
Ferdi Verbeek

Ferdi Verbeek

19/06/2011 15:05:13
Quote Anchor link
Ok ik heb er nu dit van gemaakt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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']);
   }

?>


Ik krijg de volgende errors:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
?>


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
 
- SanThe -

- SanThe -

19/06/2011 15:07:13
Quote Anchor link
$query = "UPDATE '".$tab_town."' SET
Veld- en kolomnamen nooit tussen quotes:
$query = "UPDATE ".$tab_town." SET
 
Ferdi Verbeek

Ferdi Verbeek

19/06/2011 15:09:08
Quote Anchor link
Aangepast. Geen error meer, maar nog geen update in de tabel ook -_-
 
- SanThe -

- SanThe -

19/06/2011 15:14:02
Quote Anchor link
Zet eens tussen regel 35 en 36:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
else
{
    echo 'Bijgewerkt: ' . mysql_affected_rows() . ' rows';
}

?>
 
Ferdi Verbeek

Ferdi Verbeek

19/06/2011 15:18:53
Quote Anchor link
Nu is het zo

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';
    }
    }

?>


Of bedoelde je hem zo niet? Ik krijg na het proberen in ieder geval nergens het bericht met bewerkt.
 
- SanThe -

- SanThe -

19/06/2011 15:28:25
Quote Anchor link
Je bent de 'else' vergeten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';
}

?>
 
Ferdi Verbeek

Ferdi Verbeek

19/06/2011 15:33:58
Quote Anchor link
Er gebeurt niks. De volledige code nog maar eens voor het overzicht:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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']);
   }

?>

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
 
Jasper DS

Jasper DS

19/06/2011 16:38:59
Quote Anchor link
je foutafhandeling is niet goed, lees de tut nog een keertje.
 
Ferdi Verbeek

Ferdi Verbeek

19/06/2011 17:00:50
Quote Anchor link
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.
 
Jasper DS

Jasper DS

19/06/2011 17:01:38
Quote Anchor link
ALTIJD een foutafhandeling inbouwen, uiteindelijk bespaart dat je veel werk.
 
Ferdi Verbeek

Ferdi Verbeek

19/06/2011 17:09:47
Quote Anchor link
Goed ik heb de boel weer aangepast. Ik denk dat ik het nu goed heb, maar graag een check :)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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']);
   }

?>



Ik krijg de volgende errors:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
?>


Sorry dat ik zojuist wat gefrustreerd reageerde. Ben al de hele middag bezig met die ene query.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.