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

Frage Entwicklung Datenbanken

Mitglied: Fleckmen

Fleckmen (Level 1) - Jetzt verbinden

05.03.2010, aktualisiert 16:47 Uhr, 6098 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 ...

Windows XP
Syntax für - Ausführen als...-
Frage von FordPerfectWindows XP3 Kommentare

Syntax für "ausführen als"Hallo liebe Freunde! ich versuche auf einem XP rechner eine Software automatisch zu starten. Bei mir ...

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, ...

Windows Server
WMI-Filter Syntax
gelöst Frage von DasWombat1993Windows Server10 Kommentare

Hallo Liebe Administratoren, Ich habe ein Problem mit einem WMI-Filter. Der Filter wird auf eine Gruppenrichlinie angewendet welche eine ...

Neue Wissensbeiträge
Microsoft

Update KB4073578 für AMD CPU (Spectre und Meltdown Lücke)

Information von sabines vor 1 StundeMicrosoft

Wegen Problemen (BOSD, nicht startende PCs) wurde das Update KB4056897 und KB4056894 für AMD CPUs zurückgezogen. Dieses Update KB4073578 ...

Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 14 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 21 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 22 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1018 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...