Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst SQL Syntax Error

Mitglied: Fleckmen

Fleckmen (Level 1) - Jetzt verbinden

05.03.2010, aktualisiert 16:47 Uhr, 6233 Aufrufe, 10 Kommentare

Hi,

Wenn ich mein Formular im Browser Absende kommt immer folgender Fehler:

Ungültige Abfrage: 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 1

Ich vermute mal dass ich etwas falsch gemacht habe bei dem SET Befehl.

Meine Problemdatei:

<?php

include 'config.php';

$sql = " INSERT INTO computer ";
$sql .= " SET ";
$sql .= " name ='". $_POST['name'] ."', ";
$sql .= " ip ='". $_POST['ip'] ."', ";

$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}

?>

Mein Formular:

<form action="newid.php" Method="post" enctype="text/html">

<table align=center >

<tr>
<th colspan=2 >Daten des Rechners:</th>
</tr>


<tr>
<td>Name:</td>
<td><input type="text" name="name" size="40" maxlength="40" ></td>
</tr>


<tr>
<td>IP:</td>
<td><input type="text" name="ip" size="40" maxlength="40" ></td>
</tr>

<tr>
<td><input type="submit" value="Absenden"></td>

<td><a href="index.php" >zurück</a></td>

</tr>
</table>
</form>

Meine config.php

<?php
define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', '*' );
define ( 'MYSQL_KENNWORT', '
*' );
define ( 'MYSQL_DATENBANK', 'datenbank' );

$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
if ( $db_link )
{
echo 'Verbindung erfolgreich';
}
else
{
die('keine Verbindung möglich: ' . mysql_error());
}

mysql_select_db("DATENBANK") or die
("Die Datenbank existiert nicht.");
?>

wäre nett wenn ihr mir sagen könntet ob das so richtig ist!
evt. Umformatieren

mfg Fleckmen
Mitglied: maretz
05.03.2010 um 16:37 Uhr
Klar mache ich das... Auch ohne dein Formular zu kennen - ich bin nämlich nebenberuflich Hellseher...

Ebenfalls ist es überflüssig dein gesamten SQL-Statement (ggf. sogar noch Lesbar...) hier reinzustellen. Wir alle lieben das erraten von Problemen...

Sorry, aber wenn du nur sowenig Hilfe geben kannst/willst dann bleibt mir zu sagen: Ich habe zwar keine Lösung - aber ich bewundere DEIN Problem!
Bitte warten ..
Mitglied: Indrador
05.03.2010 um 16:42 Uhr
Hallo Fleckmen,

was soll die Abfrage machen? Dein Konstrukt ist eine Mischung aus Syntax für UPDATE und Befehlt für INSERT INTO.

Insert into computer (name, ip) Values (Test1, 192.168.0.1)

so befüllst du die Tabelle SET benutzt man beim Update Statement nicht beim Befüllen.


Beispiel für Update
UPDATE computer
SET
name = 'Test'
where name = 'IchBinNamenlos'

Gruß
Bitte warten ..
Mitglied: Fleckmen
05.03.2010 um 16:52 Uhr
Ich möchte meine Datenbank mit den Einträgen aus dem Formular füllen.
Die Tabelle in der Datenbank besteht aus

id NAME IP
Bitte warten ..
Mitglied: Biber
05.03.2010 um 17:02 Uhr
Moin Fleckmen,

Zitat von Fleckmen:
Ich möchte meine Datenbank mit den Einträgen aus dem Formular füllen.
Ja, aber dafür gibt es doch zwei mögliche Fälle:
a) ein INSERT - Datensatz ist komplett neu
b) ein UPDATE - Datensatz ist vorhanden und wird aktualisiert in einigen Feldern


Die Tabelle in der Datenbank besteht aus
id NAME IP
Im Kontext Datenbank-Tabellen sollte noch ergänzt werden ob es einen "eindeutigen Schlüssel" gibt/geben soll.
Andernfalls ist es reine Glückssache, ob ein INSERT klappen kann.

P.S. Lass dich nicht abschrecken von den vielen pingeligen Rückfragen.
Sei froh, dass du früh auf die ganzen Stolpersteine aufmerksam gemacht wirst und nicht erst beim "go live" deiner Appz damit konfrontiert wirst

Grüße
Biber
Bitte warten ..
Mitglied: Fleckmen
05.03.2010 um 17:56 Uhr
Ich beschäftige mich erst seit ein paar Tagen mit dem eintragen von Daten in MySql.

Es soll jedes mal ein neuer Datensatz erstellt werden.
Außerdem muss ich noch hinzufügen dass wenn kein Eintrag gemacht wird

Meine Datenbank:
http://www.pic-upload.de/view-4831658/Unbenannt.jpg.html
Bitte warten ..
Mitglied: masterG
05.03.2010 um 18:15 Uhr
MySQL INSERT / UPDATE

Gruß
masterG
Bitte warten ..
Mitglied: Fleckmen
05.03.2010 um 19:21 Uhr
Ich habe jetzt meine Datei geändert:

<?php

include 'config.php';

$sql = " INSERT INTO computer (name, typ, os, ip, mac) VALUES(name, typ, os, ip, mac)";
$sql .= " name =$_POST['name']";
$sql .= " typ =$_POST['typ']";
$sql .= " os =$_POST['os']";
$sql .= " ip =$_POST['ip']";
$sql .= " mac =$_POST['mac']";

$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}

?>

Jetzt habe ich aber ein einen neuen Error:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\xampp\htdocs\newid.php on line 6
Bitte warten ..
Mitglied: mrtux
05.03.2010 um 19:32 Uhr
Hi !

Sorry aber warum lernst Du nicht mal erst die Syntax von SQL und PHP, so wie Du das angehst wird das nie was. Alle Infos über (My-) SQL und PHP gibt es doch frei im Net, siehe masterG's Post....Man setzt sich doch auch nicht ans Lenkrad eines Porsches, wenn man noch nicht mal in der Fahrschule war...Kopfschüttel...

mrtux
Bitte warten ..
Mitglied: Guenni
05.03.2010 um 21:01 Uhr
Hi Fleckmen,

wenn ein SQL-Statement nicht funktioniert, ist es hilfreich, sich dieses

mal mit echo $sql; ausgeben zu lassen. Dann sieht man schonmal, ob

die Syntax korrekt ist.

Deine Fehler sind folgende:

In der ersten Zeile legst du das gesamte Statement in der Variablen $sql ab,

und hängst anschließend die geposteten Textfelder hintendran.


Im Teil . . . values( . . . usw.) schreibst du in den Klammern name,typ . . . usw.

als "reinen Text", was PHP nicht interpretieren kann.


Also entweder es heißt . . . values('$name','$typ', . . . usw.), dann müsstest du vorher

die geposteten Textfelder in den entspr. Variablen ablegen: $name=$_POST['name']; . . . usw..

Oder du übernimmst die geposteten Textfelder direkt. Dann lautet das Insert-Statement:

$sql="insert into tabelle(name,typ,os,ip,mac) values ('".$_POST['name']."','".$_POST['typ']."','".$_POST['os']."','".$_POST['ip']."','".$_POST['mac']."')";.

Gruß
Günni
Bitte warten ..
Mitglied: Fleckmen
06.03.2010 um 01:24 Uhr
Ich hab es jetzt!

$name = $_POST['name'];
$typ = $_POST['typ'];
...

$sql = "INSERT INTO computer (id, name, typ,...) VALUES('".$name."','".$typ."',...)";
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

CMD Befehl mit Anführungszeichen - Syntax Error

gelöst Frage von agowa338Batch & Shell7 Kommentare

Hallo, Ich kämpfe gerade mit der Syntax eines etwas komplexeren Befehls, der Befehl ist folgender: cmd.exe /C "schtasks /create ...

Batch & Shell

Shell-Skript - Syntax error: Unterminated quoted string

gelöst Frage von newit1Batch & Shell12 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

Datenbanken

Fehler 1064 you have an error in SQL syntax datenbankabfrage, Search and Replace

gelöst Frage von BlackshirtDatenbanken1 Kommentar

hallo Zusammen, ich komme einfach nicht weiter. Zuerst das geständnis: ich habe so gut wie keine Ahnung von SQL-Datenbanken, ...

Batch & Shell

Batch-Syntax

gelöst Frage von gabeBUBatch & Shell1 Kommentar

Hallo Zusammen Ich habe ein ganz kleines, Simples Batch-File geschrieben, dass mir ein Programm installieren soll, wenn es nicht ...

Neue Wissensbeiträge
Windows 7
Updategängelung auf Windows 10, die zweite
Information von Penny.Cilin vor 1 TagWindows 7

Hallo, da Windows 7 im kommenden Jahr nicht mehr supportet wird, werden Nutzer von Window 7 home premium wieder ...

Internet
EU-Urheberrechtsreform: Zusammenfassung
Information von Frank vor 4 TagenInternet1 Kommentar

Auf golem.de gibt es eine Analyse von Friedhelm Greis, der das Thema EU-Urheberrechtsreform gut und strukturiert zusammenfasst. Zwar haben ...

Microsoft Office

Office365 Schwachstellen bei Sicherheit und Datenschutz

Information von Penny.Cilin vor 5 TagenMicrosoft Office7 Kommentare

Auf Heise+ gibt es einen Artikel bzgl. Office365 Schwachstellen. Das ist noch ein Grund mehr seine Daten nicht in ...

Sicherheit
Schwachstellen in VPN Clients
Tipp von transocean vor 7 TagenSicherheit2 Kommentare

Moin, es gibt Sicherheitslücken bei VPN Clients namhafter Hersteller, wie man hier lesen kann. Gruß Uwe

Heiß diskutierte Inhalte
Virtualisierung
Unix System virtualisieren
Frage von BananenmeisterVirtualisierung10 Kommentare

Hallo Zusammen, Ich möchte gerne eine Virtualisierungs-Software auf meinem kleinen ML Server installieren um einige Unix Systeme zu virtualisieren. ...

Netzwerkmanagement
Konfiguration von IPv6 in einer Domäne mit DHCP
Frage von gnoovyNetzwerkmanagement10 Kommentare

Hi Zusammen, ich bin gerade etwas am verzweifeln. Ich habe eine Testumgebung aufgebaut, um mich in das Thema IPv6 ...

Peripheriegeräte
Empfehlung für Home-USV (ca. 450VA 270W) Irgendwelche Osterpreisaktionen bekannt?
Frage von Server-NutzerPeripheriegeräte9 Kommentare

Hallo und schöne Ostern. Meine private Heim-USV Yunto Q450 (ca. 450VA 270W) hat sich nach vielen Jahren ohne Probleme ...

Windows 10
Windows 10 verwendet FritzBox per IPv6 als DNS-Server an Stelle des per DHCP vergebenen DNS-Servers
Frage von Datax87Windows 109 Kommentare

Hallo, ich habe ein kleines Problem mit der Namensauflösung (DNS) unter Windows 10. Mir ist heute aufgefallen, dass ich ...