een sql fout

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Simon Kroes

Simon Kroes

30/01/2008 20:37:00
Quote Anchor link
Heey!
ik heb een scriptje gemaakt..
maar als ik vraag om toe te voegen aan een tabel in me db geeft hij een fout aan:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
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 'bla")' at line 3
?>


Ik heb paar dingen geprobeerd maar ik kom er niet uit?
Mis kunnen jullie helpe?
alvast bedankt!

Groetjes


het 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
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
72
73
74
75
<?php
include('config.php');
// Een gedeelte voor verwijderen!
if ($_GET['edit'] == "verwijderen")
{

  echo 'Verwijderen';
}


// Een gedeelte voor bijwerken
if ($_GET['edit'] == "bijwerken")
{

 echo 'Bijwerken';
}

// Een gedeelte voor toevoegen
if ($_GET['edit'] == "voegtoe") {
if($_POST['submit'] AND $_POST['websitenaam'] != "" AND $_POST['imgurl'] != "" AND $_POST['url'] != ""){
    $ins = 'INSERT INTO partners (websitenaam, imgurl, url) VALUES (
    "'
.$_POST['websitenaam'].'",
    "'
.$_POST['imgurl'].'"",
    "'
.$_POST['url'].'")';
                        mysql_query($ins) OR die (mysql_error());
    
 }
else {
 /////////////////////////////    De website naam
echo '<form action="'.$SERVER['PHP_SELF'].'" method="post">';
echo '<table border="0" cellpadding="0 cellspacing="0">';
echo '<tr><td>';
echo 'Naam:';
echo '</td><td>';
echo '<input type="text" name="websitenaam" value="'.$_POST['websitenaam'].'">';
echo '</td></tr>';

    if($_POST['submit'] AND $_POST['websitenaam'] == ""){
      echo '<tr>';
      echo '<td colspan="2">';
      echo 'Je moet wel een <b>websitenaam</b> invoeren!';
      echo '</td>';
      echo '</tr>';
    }

////////////////////  de website url    
echo '<tr><td>';
echo 'website url:';
echo '</td><td>';
echo '<input type="text" name="url" value="'.$_POST['url'].'">';
echo '</td></tr>';

    if($_POST['submit'] AND $_POST['url'] == ""){
      echo '<tr>';
      echo '<td colspan="2">';
      echo 'Je moet wel een <b>url</b> invoeren!';
      echo '</td>';
      echo '</tr>';
    }

///////////////////// plaatje url
echo '<tr><td>';
echo 'plaatje url:';
echo '</td><td>';
echo '<input type="text" name="imgurl" value="'.$_POST['imgurl'].'">';
echo '</td></tr>';

    if($_POST['submit'] AND $_POST['imgurl'] == ""){
      echo '<tr>';
      echo '<td colspan="2">';
      echo 'Je moet wel een <b>plaatje url</b> invoeren!';
      echo '</td>';
      echo '</tr>';
    }

echo '<td colspan="2">';
echo '<input type="submit" name="submit" value="Voegtoe">';
echo '</td>';
echo '</tr></form>';

}
}

?>
 
PHP hulp

PHP hulp

24/12/2024 13:28:32
 
Frank -

Frank -

30/01/2008 20:42:00
Quote Anchor link
1) Echo de hele query eens, alleen zo'n klein stukje hebben we weinig aan
2) Gebruik in SQL altijd enkele quotes ', in PHP zet je de query dus tussen dubbele quotes ". Jij doet het net andersom.
3) POST-waardes mogen nooit onbeveiligd in een query staan, is vragen om problemen. Geldt ook voor COOKIE en GET-waardes
4) Waarom 4x controleren of er een formulier is verstuurd? Na 1x weet je het wel...
5) $SERVER['PHP_SELF'] bestaat niet, hoor je een notice op te krijgen. Of toon je deze niet? Gebruik $_SERVER['PHP_SELF'], dat werkt beter.
6) '"", levert een probleem op, daar staat een dubbele quote teveel. Zie ook punt 2.
 
Simon Kroes

Simon Kroes

30/01/2008 20:48:00
Quote Anchor link
Oke,,

Hoe kan ik het dan beter doen volgens jou?
Kan je voorbeeld geven?
 
Joren de Wit

Joren de Wit

30/01/2008 20:51:00
Quote Anchor link
Nomis schreef op 30.01.2008 20:48:
Hoe kan ik het dan beter doen volgens jou?
Volgens mij noemt Frank net 6 punten op die voor verbetering vatbaar zijn.

Lijkt me dat je nu zelf wel aan de hand van de verschillende handleidingen uit kunt vogelen hoe je dat aan zou kunnen pakken?
 
Frank -

Frank -

30/01/2008 20:51:00
Quote Anchor link
Nou, het rijtje is al aardig compleet lijkt mij zo. Het enige wat ontbreekt, is de functie die je bij punt 3 nodig hebt: mysql_real_escape_string().

Succes!
 



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.