Bin ich zu blöd? SQL-Query

Diskutiere mit über: Bin ich zu blöd? SQL-Query im Datenbanksysteme für das Web Forum

  1. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.560
    Zustimmungen:
    28
    Registriert seit:
    12.10.2003
    Hallo Leute!

    Ich habe folgendes SQL Query:
    Code:
    UPDATE `infb_links` SET `linkname` = 'about:blank', `linkurl` = 'http://www.google.ch' WHERE `linkid` = '105' AND `userid` = '1';
    UPDATE `infb_links` SET `linkname` = 'Formelsammlung', `linkurl` = 'http://www.formel-sammlung.de/' WHERE `linkid` = '124' AND `userid` = '1';
    UPDATE `infb_links` SET `linkname` = 'GuitarPro Tabs', `linkurl` = 'http://www.mysongbook.com/' WHERE `linkid` = '126' AND `userid` = '1';
    
    Dieses gibt mir folgende Fehlermeldung zurück:
    Code:
    Anfrage:
    UPDATE `infb_links` SET `linkname` = 'about:blank', `linkurl` = 'http://www.google.ch' WHERE `linkid` = '105' AND `userid` = '1';
    UPDATE `infb_links` SET `linkname` = 'Formelsammlung', `linkurl` = 'http://www.formel-sammlung.de/' WHERE `linkid` = '124' AND `userid` = '1';
    UPDATE `infb_links` SET `linkname` = 'GuitarPro Tabs', `linkurl` = 'http://www.mysongbook.com/' WHERE `linkid` = '126' AND `userid` = '1';
    Antwort:
    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 ';
    UPDATE `infb_links` SET `linkname` = 'Formelsammlung', `link
    Fehlercode: 1064
    
    Aber nur, wenn ich das Query mit meinem eigenen PHP Script ausführe. Wenn ich es in phpMyAdmin in ein SQL Feld kopiere und dan ausführe, funktioniert es? *grml*

    Ich arbeite mit der MySQL-Klasse von http://tut.php-q.net/mysql-class.html. Den Sourcecode findet ihr unter: http://scripts.php-q.net/tutorial/mysqlclass/class_mysql.php

    Liegts vieleicht an Zeile 12?
    PHP:
    $this->_sql trim($sql);
    Greets balu
     
  2. Yankee

    Yankee MacUser Mitglied

    Beiträge:
    155
    Zustimmungen:
    0
    Registriert seit:
    27.02.2004
    Ich würde die Feldnamen nicht in '' setzen, habe das noch nie so gesehen. Gleiches gilt für Integer-Werte.
     
  3. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.029
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    Frage 1: Nö bist Du nicht :) Rechner sind nur pingelig :D

    Frage2: probier mal durchgehend die '-Zeichen zu verwenden und nicht die ´-Zeichen, ich nehme an das hilft schon!
     
  4. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.560
    Zustimmungen:
    28
    Registriert seit:
    12.10.2003
    An dem kanns nicht liegen, da mir phpMyAdmin diesen String bzw. Dieses Query mir so vorgegeben hat. Und bei einzelnen Querys funktioniert es auch. Nur nicht mit meheren Querys :(

    bezüglich zeile 12: Es hat nichts gebracht das trim($sql) in $sql umzuändern.

    EDIT: auch probiert

    @Wegus:
    Half leider auch nichts. Jetzt habe ich aber einen anderen Fehler:
    Code:
    Anfrage:
    UPDATE 'infb_links' SET 'linkname' = 'about:blank', 'linkurl' = 'http://www.google.ch' WHERE 'linkid' = '105' AND 'userid' = '1';
    UPDATE 'infb_links' SET 'linkname' = 'Formelsammlung', 'linkurl' = 'http://www.formel-sammlung.de/' WHERE 'linkid' = '124' AND 'userid' = '1';
    UPDATE 'infb_links' SET 'linkname' = 'GuitarPro Tabs', 'linkurl' = 'http://www.mysongbook.com/' WHERE 'linkid' = '126' AND 'userid' = '1';
    Antwort:
    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 ''infb_links' SET 'linkname' = 'about:blank', 'linkurl' = 'http:
    Fehlercode: 1064
    
     
    Zuletzt bearbeitet: 05.09.2005
  5. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.029
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    dann lass bitte mal die '-Zeichen bei Tabellen und Spaltennamen weg! Das ist unüblich! Mit '' werden eigentlich nur Values umschlossen und da eigentlich auch keine Zahlen ( allerdings tut es nicht weh das bei Zahlen auch zu machen).

    Probier die Query nativ mit mysql ( ohne phpmyadmin). Nutze dazu das Terminal oder den Querybrowser von mysql.com ( der ist eh gut weil er die ganze Doku mitbringt). Der Browser ist noch sehr beta, für Tetsabfragen reicht er aber völlig!
     
  6. Yankee

    Yankee MacUser Mitglied

    Beiträge:
    155
    Zustimmungen:
    0
    Registriert seit:
    27.02.2004
    Ich sehe auch nur die ' um Feldnamen und Tabellennamen als potentielle Fehlerquelle, wie oben schon gesagt. Ansonsten sehen die Queries vernünftig aus.
     
  7. msslovi0

    msslovi0 MacUser Mitglied

    Beiträge:
    2.713
    Zustimmungen:
    115
    Registriert seit:
    20.03.2005
  8. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.029
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    Wo auch immer Herr Koehntopp dieses Wissen her hat!?
    Der mysql-server macht das sehrwohl ( leicht im Terminal nachzuvollziehen) geprüft mit mysql 4.1.9.
    Es scheint sich also um eine PHP-Einschränkung zu handeln ( was ebenfalls noch nachzuprüfen wäre). Die pauschale Aussage SQL-Server machen so etwas nicht ist jedenfalls falsch. Man kann in SQL nicht umsonst stored procedures schreiben!
     
  9. msslovi0

    msslovi0 MacUser Mitglied

    Beiträge:
    2.713
    Zustimmungen:
    115
    Registriert seit:
    20.03.2005
    Er schreibt ja deswegen auch:
    Mit php geht es definitiv nicht, sonst müsste ja auch phpMyAdmin die Query nicht vorher zerlegen.

    Matt
     
  10. mkoessling

    mkoessling MacUser Mitglied

    Beiträge:
    1.487
    Zustimmungen:
    0
    Registriert seit:
    02.02.2005
    Also bei mir sieht die Schreibweise als Beispiel immer so aus und funktioniert:

    $sql_str = "UPDATE tabelle SET Menge='$frm_Menge', Artikel='$frm_Artikel', Hersteller='$frm_Hersteller'";
     
Die Seite wird geladen...
Ähnliche Themen - Bin blöd SQL Forum Datum
SQL: Join auf Basis eines Start- und Endwerts aus der gejointen Tabelle Datenbanksysteme für das Web 02.09.2016
SQL: Nächstgelegenes Datum aus einer Gruppe ermitteln Datenbanksysteme für das Web 09.10.2014
SQL Datei anschauen! Datenbanksysteme für das Web 29.11.2013
SQL - Join - Nicht übereinstimmende Datensätze anzeigen Datenbanksysteme für das Web 02.02.2011
sql syntax frage Datenbanksysteme für das Web 21.10.2010

Diese Seite empfehlen

Benutzerdefinierte Suche