Hallo allemaal ,

ik ben bezig met een upload pagina alleen zodra ik hem test krijg ik de volgende error :


Notice:  1064: 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 '' at line 8 in C:\Documents and Settings\Kevichill\Bureaublad\xampp\htdocs\CNL\upload\upload.php on line 78

            INSERT INTO upload
            SET
            titel = 'Dancing Queen #29',
            opmerking = 'Dancing Queen auditie 29',
type = 'myvideo',
url = '',
url2 = 'http://www.myvideo.nl/movie/3117843',
categorie = 'funny',


Wat is hier het probleem ,, ?


B.v.D Kevin
Probeer altijd standaard SQL te gebruiken voor je queries. Die query van jou doet dat niet!

De SQL syntax voor het invoegen van een record is deze:

INSERT INTO tabel
(
	kolom1,
	kolom2,
	...
)
VALUES
(
	waarde1,
	waarde2,
	...
)

Dat MySQL die syntax accepteert is eerder een bug dan een functionaliteit. Niet gebruiken dus...
Jij gebruikt SET in een INSERT...
SET gebruik je in een UPDATE commando voor MySQL.

INSERT INTO tabel (kolom1,kolom2,kolom3) VALUES ('waarde1','waarde2','waarde3')

//EDIT, Blanche was me voor.
url = '',

Als een veld in je db leeg is, dan heb je je databas verkeerd opgebouwd.
@Erik: dat is niet helemaal waar. Een kolom in een tabel kan in sommige situaties prima NULL values bevatten. Bovendien zou met deze query de default waarde gebruikt worden als die ingesteld is.

Dat zoiets echter nooit in een query voor kan komen is een ander verhaal. Als je een veld niet in wenst te vullen, laat je hem weg uit de query. Dan laat je het aan de database over wat ermee gedaan wordt. In geval van een NOT NULL constraint zal een goede database een error geven (MySQL helaas niet) en in het geval van een default waarde zal deze gebruikt worden.
wat is er dan nou precies fout ..

<?php
    ini_set ('display_errors', 1);
    error_reporting (E_ALL);
    
include ("connect.php");
?>
	      <p>Filmpje Uploaden 
	      <form name="form1" method="post" action="">
  <label></label>
  <p>
    <label>Titel :
    <input name="titel" type="text" id="titel" value="">
    </label>
  Max 150 tekens </p>
  <p>Opmerking : 
    <label>
    <input name="opmerking" type="text" id="opmerking" size="50" maxlength="200">
    </label>
  Max 200 tekens </p>
  <p>
    <label>Type : 
    <select name="type" id="type">
      <option value="youtube">Youtube</option>
      <option value="google">Google Video</option>
      <option value="myvideo">Myvideo</option>
    </select>
    <br />
    </label>
  Letop . Als je een code van Youtube.nl(.com) gebruikt moet je alleen de url die na value= komt invoeren<br />
  .<a href="youtube.png" target="_blank">Voorbeeld</a> Youtube</p>
  <p>
    <label>Url voor Youtube:
    <input name="url" type="text" id="url" value="" size="50">
</label>
    </p>
  <p>
    <label>Url voor Myvideo :
    <input name="url2" type="text" id="url2" value="http://www.myvideo.nl/movie/Hier de nummers!" size="50" />
    </label>
    </p>
  <p><br />
    Letop . Als je een code van Myvideo.nl gebruikt moet je alleen de laatste cijfers van de link invoeren.<br />
    <a href="myvideo.png" target="_blank">Voorbeeld</a> Myvideo<br />
  </p>
  <p>
    <label>Categorie : 
    <select name="categorie" id="categorie">
      <option value="cabaretie">Cabaretie NL</option>
      <option value="cabaretieeng">Cabaretie ENG</option>
      <option value="funny">Funny</option>
    </select>
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="Upload Filmpje">
    </label>
  </p>
</form>
<p></p>
<p>
  <?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
    if (isset ($_POST['titel'])) {
        $sql_query = "
            INSERT INTO upload
            SET
            titel = '" . mysql_real_escape_string ($_POST['titel']) . "',
            opmerking = '" . mysql_real_escape_string ($_POST['opmerking']) . "',
			type = '" . mysql_real_escape_string ($_POST['type']) . "',
			url = '" . mysql_real_escape_string ($_POST['url']) . "',
			url2 = '" . mysql_real_escape_string ($_POST['url2']) . "',
			categorie = '" . mysql_real_escape_string ($_POST['categorie']) . "',
			
            ";
    
        if (!$result = mysql_query($sql_query)) {
            echo '<pre>';
            trigger_error (mysql_errno () . ': ' . mysql_error ());
            echo htmlentities (str_replace ("\t", '', $sql_query));
            echo '</pre>';
        }
    }
}
?> 
</p>

Wat begrijp je niet aan de opmerkingen van Blanche en Jelle? Jouw SQL is geen SQL, dat zuigt aan alle kanten!

Tevens heb je een komma teveel, je verdiende loon!

;)

Reageren