• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Problem :( :( ????!!!! bekomme Fehler: You have an error in your SQL syntax

erniedd

New member

Hallo :) ,

also ich habe hier eine Seite erstellt, die aus meiner Datenbank, die Daten anzeigt
und sie dann in eine Liste bringt.

klickt man nun auf den namen der entsprechenden Datei soll sich ein neues fenster öffnen und
die Datei im Detail angezeigt werden.

Die erste geht auch wunderbar, sie zeigt mir meine liste an, nur wenn ich dann auf die Datei klicke
um die Details anzuschauen bekomme ich folgenden Fehler:





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 'ID = 3 LIMIT 0, 10' at line 1





Hier ist der code:


PHP:
<?php
require_once('../../Connections/verbindung.php'); ?><?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$maxRows_DetailRS1 = 10;
$pageNum_DetailRS1 = 0;
if (isset($_GET['pageNum_DetailRS1'])) {
  $pageNum_DetailRS1 = $_GET['pageNum_DetailRS1'];
}
$startRow_DetailRS1 = $pageNum_DetailRS1 * $maxRows_DetailRS1;

$colname_DetailRS1 = "-1";
if (isset($_GET['recordID'])) {
  $colname_DetailRS1 = $_GET['recordID'];
}
mysql_select_db($database_verbindung, $verbindung);
$query_DetailRS1 = sprintf("SELECT * FROM `spiele datenbank`  WHERE Spiel ID = %s", GetSQLValueString($colname_DetailRS1, "-1"));
$query_limit_DetailRS1 = sprintf("%s LIMIT %d, %d", $query_DetailRS1, $startRow_DetailRS1, $maxRows_DetailRS1);
$DetailRS1 = mysql_query($query_limit_DetailRS1, $verbindung) or die(mysql_error());
$row_DetailRS1 = mysql_fetch_assoc($DetailRS1);

if (isset($_GET['totalRows_DetailRS1'])) {
  $totalRows_DetailRS1 = $_GET['totalRows_DetailRS1'];
} else {
  $all_DetailRS1 = mysql_query($query_DetailRS1);
  $totalRows_DetailRS1 = mysql_num_rows($all_DetailRS1);
}
$totalPages_DetailRS1 = ceil($totalRows_DetailRS1/$maxRows_DetailRS1)-1;
?>



Ich bedanke mich jetzt schon, bin am verweifeln :( :(

Als anhang noch die erste Seite und die Detail Seite:

Anhang anzeigen code.txt
 
Wie sieht denn der konkrete SQL String aus. Mit einem Fragment und deinen Code ohne Daten, läßt sich zu dem Problem nichts sagen.
 
ja das habe ich, sogar ziemlich oft wie man an meiner datenbank sehen kann

CREATE TABLE `Spiele Datenbank` (
`Spiel ID` INTEGER NOT NULL AUTO_INCREMENT,
`Spiel Name` VARCHAR(255),
`Hersteller ID` INTEGER,
`Release Jahr` DATETIME,
`Groesse` VARCHAR(255),
`Betriebsystem ID` INTEGER,
`Sprache` VARCHAR(255)....................

meine Datenbank hab ich in access geschrieben und als ich sie in xammp einbringen wollte, dachte ich mir schon das meine namen vielleicht zu Problemen führen könnten.

Aber als in Dreamweaver meine Abfrage klappte, dachte ich das es so okay ist.

Hängt der Fehler vielleicht mit der Wahl meiner Schreibweise zusammen ?
 
Wie sieht denn der konkrete SQL String aus. Mit einem Fragment und deinen Code ohne Daten, läßt sich zu dem Problem nichts sagen.

meinst du jetzt meine Datenbank ? also die kann ich au posten

die abrage habe ich mit dreamweaver erstellt, mit master detailseitensatz
 
meine Datenbank hab ich in access geschrieben
Oje.

und als ich sie in xammp einbringen wollte, dachte ich mir schon das meine namen vielleicht zu Problemen führen könnten.
Also prinzipiell dürfte das gehen, sonst müßte die Datenbank sich schon beim Anlegen oder Importieren beschweren und verweigern. Aber Du musst nun bei jeder Abfrage diese schrägen Quotes einbauen, die man im Normalfall nicht benötigt.
Es ist nicht gesagt, dass jedes DBMS solche Namen unterstützt, MySQL hat offenbar nichts dagegen, andere Systeme mögen das anders sehen. Deswegen hat sich eingebürgert, dass alle Datenbankobjekte (Datenbanken, Tabellen, Spalten, Trigger, Procedures, Views, usw.) lediglich aus den Zeichen 'a' bis 'z', 'A' bis 'Z' und '_' gebildet werden.

Hängt der Fehler vielleicht mit der Wahl meiner Schreibweise zusammen ?
Das kann man nicht abschließend sagen, dazu müßte man die exakten SQL-Abfrage sehen, die ausgeführt werden soll. Wenn Du diese vorliegen hast, kannst Du sie am besten gleich in Deinem phpMyAdmin ausführen, bzw. dort solange an ihr rumfummeln, bis ihr beide (MySQL und Du) glücklich seid.


Wobei: ich sehe gerade "Spiele ID" ist bei Dir eine Spalte, DW hat hier aber keine schräge Quotes gesetzt und ist damit in die von Dir gestellte Falle getappt.

Folglich: Zurück ans Zeichenbrett, Dein Datenentwurf ist für die Tonne.
 
meinst du jetzt meine Datenbank ? also die kann ich au posten

die abrage habe ich mit dreamweaver erstellt, mit master detailseitensatz
Soweit ich das sehe wird der sql String mit PHP erzeugt, den kannst du doch ohne Probleme mit echo ausgeben. Dann liesse er sich auch analysieren. Leerzeichen in Feldnamen sind aber sicher keine gute Idee
 
oki ich habs hinbekommen ich hab alles nochma neu gemacht, und alle namen geändert und keine lehrzeichen mehr, vielen dank leute, wäre da nie drauf gekommen, das es an meiner unmöglichen schreibweise liegt, aber ich dachte mir das schon irgendwie^^

:D
 
Jaja, die neuen Betriebssystem versauen uns komplett. Wer unter DOS aufgewachsen ist, der nutzt grundsätzlich keine Umlaute, Sonderzeichen oder Leerzeichen in Dateinamen (oder ähnlichen Zuordnungsverweisen, wie z.B. Datenbanknamen).

Grüße,
Jan
 
Zurück
Oben