Rocco: SQL Anweisung funktioniert nicht

Hallo,

kann mir von euch vielleicht einer sagen was in dieser Funktion an $SQL nicht stimmt? Ich finde den Fehler einfach nicht.

Hier die Werte die ich übergebe: http://localhost/inser_update.php?add=1&tab=agentur&FORM_agenturID=18&FORM_agenturName=neu&submit=eintragen

<?php

$dbname    = "db";
$loginname = "user";
$loginpass = "********";
$dbhost    = "localhost";

$db = mysql_connect($dbhost, $loginname, $loginpass);

mysql_select_db($dbname,$db);

function phpInsert($tab){

global $HTTP_POST_VARS;
 $keys = "";
 $values = "";
 foreach($HTTP_POST_VARS as $key=>$val)
  {
   if (substr($key, 0, 5) == "FORM_")
    {
      $keys .= substr($key, 5) . ", ";

$query = mysql_query("SELECT * FROM " . $tab) or die ("Invalid Query: phpInsert (1)");
      $test = mysql_fetch_field ($query);
      $isNumeric = $test->numeric;

if ($isNumeric == 1)
       {
       $values .= $val . ", ";
       }
      else
       {
      $values .= "'" . $val . "', ";
       }
        }
     }

$keys = substr($keys, 0, -2);
 $values = substr($values, 0, -2);

$SQL = "INSERT INTO " . $tab . " (";
 $SQL .= $keys . ")";
 $SQL .= "VALUES (";
 $SQL .= $values . ")";

$query = mysql_query($SQL) or die ("Invalid Query: phpInsert (2)"); // hier fliege ich immer raus
 global $insertedID;
 $insertedID = mysql_insert_id();

}

if ($add==1){
phpInsert($tab);
}

?>

Danke für eure Hilfe und ein schönes Wochenende.

Rocco

  1. Hallo,

    kann mir von euch vielleicht einer sagen was in dieser Funktion an $SQL nicht stimmt? Ich finde den Fehler einfach nicht.

    konnte das jetzt nicht ganz nachvollziehen, aber kann es sein,
    dass nach dem letzten key bzw value noch ein , (Komma) kommt?
    Vielleicht mag es dass ja nicht...

    gruss
    vom horst

    1. konnte das jetzt nicht ganz nachvollziehen, aber kann es sein,
      dass nach dem letzten key bzw value noch ein , (Komma) kommt?
      Vielleicht mag es dass ja nicht...

      vergiss es... hatte die substrings nicht gesehen.. ok
      nochmal gucken

  2. Hallo!

    Wenn Du wissen willst was an der Qhery nicht stimmt lass Dir nach absenden der Query mysql_error() ausgeben! Da steht das meist genau drin.

    Grüße
    Andreas