Query foutje ... maarja was er fout?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mitch X

Mitch X

18/03/2004 22:41:00
Quote Anchor link
Ok dit is um...
Het geeft een parse error:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$ins_sql
= "INSERT INTO members SET user = '" . $_POST['profiel'] . "', pass = '" . $_POST['pass'] . "', klas = '" . $_POST['klas'] . "', leeftijd = '" . $_POST['leeftijd'] . "', email = '" . $_POST['email'] . "', naam = '" . $_POST['naam'] . "', activatie = '" . md5($_POST['profiel']) . "', plaatje = '" . $_POST['plaatje'] . "', about = '" . $_POST['about'] . "', woonplaats = '" . $_POST['woonplaats'] . "', website = '" . $_POST['website'] "', datum = '" . now() . "'";
?>
Gewijzigd op 18/03/2004 22:42:00 door Mitch X
 
PHP hulp

PHP hulp

29/04/2024 13:40:35
 
Elwin - Fratsloos

Elwin - Fratsloos

18/03/2004 23:03:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$ins_sql
= "INSERT INTO members (user, pass, klas, leeftijd, email, naam, activatie, plaatje, about, woonplaats, website, datum) VALUES ('" . $_POST['profiel'] . "', '" . $_POST['pass'] . "', '" . $_POST['klas'] . "', '" . $_POST['leeftijd'] . "', '" . $_POST['email'] . "', '" . $_POST['naam'] . "', '" . md5($_POST['profiel']) . "', '" . $_POST['plaatje'] . "', '" . $_POST['about'] . "', '" . $_POST['woonplaats'] . "', '" . $_POST['website'] "', '" . now() . "')";
?>


Elwin
 
Arend a

Arend a

18/03/2004 23:41:00
Quote Anchor link
Het is me ook een GEKUT met aanhalingtekens zeg.

Ik stel voor dat je overgaat op improved mysql functions in php. Of een van de andere abstractere DB classes, bijvoorbeeld die van PEAR

[scheldkannonade]
Dit zuigt natuurlijk alle dikke aarsen der universum, ik snap niet dat je hier vrolijk van wordt, als een monnik alle quotes mooi escapen en . 'en. VOLKOMEN KUT! zoals dat heet :)
[/scheldkannonade]

Goed, dan nu de oplossingen.
http://nl.php.net/manual/en/function.mysqli-bind-param.php

Ik wilde al een mooi voorbeeld geven, maar helaas: dit is nog grotendeels in beta fase, en het moet meegecompiled zijn met php (niet zeker of het standaard gebakken zit zit)

Dan maar de DB:: interface van PEAR (zie mijn magnificente tutorial elders op deze site. Ik vind dit heerlijk werken (Perl-DBI style baby ;))

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

// Eerst verbinding maken via DB, dat zoek je maar lekker zef uit.
$table_fields = array('user', 'pass', 'klas', 'leeftijd', 'email', 'naam', 'activatie', 'plaatje', 'about', 'woonplaats', 'website', 'datum');
$table_values = array($_POST['profiel'], etc, etc);
$table_name   = 'members';
$sth = $db->autoPrepare($table_name, $table_fields, DB_AUTOQUERY_INSERT);
$db->execute($sth, $table_values);
?>


Uitgebreide documentatie is te vinden op
http://pear.php.net/manual/en/package.database.php#package.database.db

Success,

Arend.
 
Mitch X

Mitch X

19/03/2004 14:51:00
Quote Anchor link
De fout zit op regel 348 en das die query...
Toch is die wss niet fout :
[1] Ik doe het altijd zo
[2] De kleuren kloppen
[3] Elwins query geeft dezelfde parse error ...

Dus ff het stukje erboven ... ->
<!-- Script -->
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
<?
        
        if($_POST['profiel'] && $_POST['pass'] && $_POST['naam'] && $_POST['email'] && $_POST['klas'] && $_POST['leeftijd'] && $_POST['woonplaats'] && $_POST['register'] && $_POST['about'])
        {

        
        $check_sql = "SELECT * FROM members WHERE user = '" . $_POST['profiel'] . "'";
        $check_res = mysql_query($check_sql);

            if(mysql_num_rows($check_res) > 0)
            {

            echo "<b>De door jou gekozen profielnaam bestaat al!</b><br>";
            echo "Probeer het <a href=\"" . $PHP_SELF . "\" class=\"normal\">opnieuw</a>!";
            }

            else
            {
            
            $ins_sql = "INSERT INTO members SET user = '" . $_POST['profiel'] . "', pass = '" . $_POST['pass'] . "', klas = '" . $_POST['klas'] . "', leeftijd = '" . $_POST['leeftijd'] . "', email = '" . $_POST['email'] . "', naam = '" . $_POST['naam'] . "', activatie = '" . md5($_POST['profiel']) . "', plaatje = '" . $_POST['plaatje'] . "', about = '" . $_POST['about'] . "', woonplaats = '" . $_POST['woonplaats'] . "', website = '" . $_POST['website'] "', datum = '" . now() . "'";
             $ins_res = mysql_query($ins_sql);
?>


Wat is er fout? :S ik zie het niet ...
 
Mitch X

Mitch X

19/03/2004 19:07:00
Quote Anchor link
Damn volgens mij is er nix fout...
Alle kleuren lijken te kloppen ... grappig is dat zonder de query de fout niet komt ...
 
Arend a

Arend a

19/03/2004 19:19:00
Quote Anchor link
Mja,

mijn punt is dat je er dan altijd een onoverzichtelijke teringbende van maakt. Of de kleuren nou kloppen of niet, of elwin in zn naakie de wereld rond rent of niet: het is geen prettige manier van queries bouwen.
 
Mitch X

Mitch X

19/03/2004 20:23:00
Quote Anchor link
Joepie mn query werkt :)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$ins_sql
= "INSERT INTO members SET user = '" . $_POST['profiel'] . "', pass = '" . $_POST['pass'] . "', klas = '" . $_POST['klas'] . "', leeftijd = '" . $_POST . "', email = '" . $_POST['email'] . "', naam = '" . $_POST['naam'] . "', activatie = '" . md5($_POST['profiel']) . "', plaatje = '" . $_POST['plaatje'] . "', about = '" . $_POST['about'] . "', woonplaats = '" . $_POST['woonplaats'] . "', website = '" . $_POST['website'] . "', datum = '" . now() . "'";
?>


Alleen na ut submitte zegt ie nu :
Fatal error: Call to undefined function: now() in c:\apache\htdocs\register.php on line 348
 
Arend a

Arend a

19/03/2004 20:27:00
Quote Anchor link
now() is ook een mysql functie en geen php functie.
 
Mitch X

Mitch X

19/03/2004 20:29:00
Quote Anchor link
En hoe moet ik deze toepassen dan?
Hier snap ik het nog niet:
http://www.mysql.com/doc/en/Date_and_time_functions.html
 
Mitch X

Mitch X

19/03/2004 20:43:00
Quote Anchor link
Got it :)
 
Arend a

Arend a

22/03/2004 14:52:00
Quote Anchor link
Mitch: waarom stap je niet een keer over op de DB class van pear in plaats van je gequote-zak :)

$data = array($_POST['profiel'], $_POST['pass'], $_POST['klas'], $_POST['email'], $_POST['naam'], $_POST['profiel'], $_POST['about'], $_POST['website']);
$db->query(
INSERT INTO members
SET
user = ?,
pass = ?,
klas = ?,
leeftijd = ?,
email = ?,
naam = ?,
activatie = md5(?),
plaatje = ?,
about = ?,
woonplaats = ?,
website = ?,
datum = now()",
$data);
 
Mitch X

Mitch X

22/03/2004 16:16:00
Quote Anchor link
Info over PEAR kan ik waar vinden?
Mss een PEAR site?
 
Arend a

Arend a

22/03/2004 16:29:00
 



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.