Auteur Topic: Syntax2 PHP/MySQL  (gelezen 3671 keer)

Offline a.m.j.janssen

  • Bedankjes
  • -Gegeven: 8
  • -Ontvangen: 1
  • Berichten: 142
Syntax2 PHP/MySQL
« Gepost op: 28 mei 2020, 10:57:17 »
Hoi,
Wat is er mis met:

INSERT INTO TAB_FotosEnVideos (id, nummer, wie, wat, waar, waarom, pad, mapdatum, dbdatum, beschr) VALUES ('1', '1', 'wie', 'wat','WAAR','waarom','media/00001.jpg','2020-05-01','2020-05-02','besschr')

Unknown column '1' in 'field list'

id en nummer zijn INT
de datumvelden zijn DATE
de rest is VARCHAR
??
  • Mijn Synology: DS414
  • HDD's: 4x WD20EZRX-22D8PB0

Offline Hofstede

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 10
  • -Ontvangen: 1455
  • Berichten: 6.095
Re: Syntax2 PHP/MySQL
« Reactie #1 Gepost op: 28 mei 2020, 11:00:46 »
Zijn we ook al een SQL forum?  :lol:

Maar als id en nummer integers zijn dan moeten de values 1,1 zijn en niet ‘1’,’1’. Want 1 is een integer, ‘1’ is een string.

Offline a.m.j.janssen

  • Bedankjes
  • -Gegeven: 8
  • -Ontvangen: 1
  • Berichten: 142
Re: Syntax2 PHP/MySQL
« Reactie #2 Gepost op: 28 mei 2020, 13:14:43 »
Hallo,
Ook dat heb ik al geprobeerd (dus 1,1,....) maar helaas.
PHPMyAdmin is een MySQL-tool, dus: ja.

Mvg
  • Mijn Synology: DS414
  • HDD's: 4x WD20EZRX-22D8PB0

Offline dvandonkelaar

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 12
  • -Ontvangen: 161
  • Berichten: 937
Re: Syntax2 PHP/MySQL
« Reactie #3 Gepost op: 28 mei 2020, 13:46:46 »
Wanneer ik in een tijdelijke database een tabel met de naam 'TAB_FotosEnVideos' aan maak conform onderstaande
48527-0

En dan de volgende query uit voer
INSERT INTO TAB_FotosEnVideos (id, nummer, wie, wat, waar, waarom, pad, mapdatum, dbdatum, beschr) VALUES ('1', '1', 'wie', 'wat','WAAR','waarom','media/00001.jpg','2020-05-01','2020-05-02','besschr')
Dan wordt deze gewoon toegevoegd.
Misschien zit er een verkeerde instelling in een key, kolom o.i.d.?
--
dvandonkelaar

DS415+ 8GB | 2xWD30EZRX en 2xWD30EFRX | RAID5 EXT4 [Productie]
DS211J | 2x WD20EZRZ | RAID1 EXT4 [Backup]
Eaton Ellipse PRO 650 DIN (Schuko)

Offline a.m.j.janssen

  • Bedankjes
  • -Gegeven: 8
  • -Ontvangen: 1
  • Berichten: 142
Re: Syntax2 PHP/MySQL
« Reactie #4 Gepost op: 28 mei 2020, 14:37:08 »
Hallo dvandonkelaar,
Dank voor je reactie.
Als de query via PHPMyAdmin (SQL) wordt uitgevoerd, wordt de data inderdaad in de database geimporteerd.
Maar ik krijg foutmeldingen als ik de query vanuit PHP uitvoer:

$filename="media/test3.csv";
$ext=substr($filename,strrpos($filename,"."),(strlen($filename)-strrpos($filename,".")));
   
//check,file moet extensie csv hebben.
if ($ext==".csv")
   {
   $file = fopen($filename, "r");
        while (($emapData = fgetcsv($file, 1000, ",")) !== FALSE)
        {
      $num = count($emapData);
           //echo "<p> $num fields in line $row: <br /></p>\n";
           $row++;
           for ($c=0; $c < $num; $c++) {
               //echo $emapData[$c] . "<br />\n";
           }
      
           $sql = "INSERT INTO TAB_FotosEnVideos (id, nummer, wie, wat, waar, waarom, pad, mapdatum, dbdatum, beschr)
           VALUES ('$emapData[0]', '$emapData[1]', '$emapData[2]', '$emapData[3]','$emapData[4]','$emapData[5]','$emapData[6]','$emapData[7]','$emapData[8]','$emapData[9]','$emapData[10]' )";
           
            echo "<br>sql=".$sql;
           
            $query=mysqli_query($dbcnx, $sql);
            if (!$query)  { die('<br>De volgende fout is opgetreden bij het schrijven naar tabel TAB_FotosEnVideos: ' . mysqli_error($dbcnx)); }
           
 
      }
      
      fclose($file);
        echo "<br>". $filename . " is correct in de database geimporteerd";
   
   } else {
       echo "<br>Kies een .csv-file aub";
   }
  • Mijn Synology: DS414
  • HDD's: 4x WD20EZRX-22D8PB0

Offline dvandonkelaar

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 12
  • -Ontvangen: 161
  • Berichten: 937
Re: Syntax2 PHP/MySQL
« Reactie #5 Gepost op: 28 mei 2020, 14:53:21 »
$sql = "INSERT INTO TAB_FotosEnVideos (id, nummer, wie, wat, waar, waarom, pad, mapdatum, dbdatum, beschr)
           VALUES ('$emapData[0]', '$emapData[1]', '$emapData[2]', '$emapData[3]','$emapData[4]','$emapData[5]','$emapData[6]','$emapData[7]','$emapData[8]','$emapData[9]','$emapData[10]' )";

PHP is niet hetgeen waar ik het meeste kennis van heb, maar de insert geeft hier 10 kolommen en de values 11. Dat past sowieso niet.
Misschien kun je de eerste paar queries weergeven op je webpagina om deze zo te troubleshooten?
--
dvandonkelaar

DS415+ 8GB | 2xWD30EZRX en 2xWD30EFRX | RAID5 EXT4 [Productie]
DS211J | 2x WD20EZRZ | RAID1 EXT4 [Backup]
Eaton Ellipse PRO 650 DIN (Schuko)

Offline a.m.j.janssen

  • Bedankjes
  • -Gegeven: 8
  • -Ontvangen: 1
  • Berichten: 142
Re: Syntax2 PHP/MySQL
« Reactie #6 Gepost op: 28 mei 2020, 16:07:59 »
Hoi,

Citaat: "The ID column is an auto-increment field and will be generated automatically when a new record is inserted into the table."
Maw het eerste veld moet niet worden ingevuld bij de INSERT omdat het een auto-increment veld is.

Daarmee is het probleempje opgelost. Dank voor het meedenken.
Mvg
  • Mijn Synology: DS414
  • HDD's: 4x WD20EZRX-22D8PB0