|
Fehler tritt auf bei 2. Eintrag in DB
|
| Columbo |
Geschrieben am 30. Januar 2011 16:03:18
|
Stammgast

Posts: 91
Registriert seit: 25.10.10
FortgeschrittenerNächstes Level: 92/100 Scores: gesperrt
Verwarnstatus:    
|
Hallo Leute!
Ich brauche mal wieder Hilfe bei Datenbankeinträgen.
Soweit funktioniert ja alles:
Ein Eingabefeld und die Eingabe wird auch gespeichert.
Code $result = mysql_query( "INSERT INTO tabelle (spalte ) VALUES('".$spalte."')");
So funktioniert alles, aber mache ich etwas dazu:
Code $result = mysql_query( "INSERT INTO tabelle (spalte,spalte2) VALUES('".$spalte."','".$spalte2."')");
Funktioniert es schon wieder nicht mehr :(
Hat jemand dazu eine Lösung/Idee??
Ich bin echt schon am Verzweifeln, arbeite seit gestern 23 Uhr dran und seit heute 12 Uhr...
Aber es kommt nichts dabei raus... :(
Liebe Grüße,
Columbo |
 |
|
|
|
|
| MarcusG |
Geschrieben am 30. Januar 2011 16:29:27
|


Posts: 2944
Registriert seit: 21.01.09
MeisterNächstes Level: 2951/5000 Scores: gesperrt
|
Ich bevorzuge eine andere Schreibweise, allein der Lesbarkeit wegen:
Code $result = dbquery("INSERT INTO ".TABELLE." SET
spalte = '".$spalte."',
spalte1 = '".$spalte1."',
spalte2 = '".$spalte2."'");
Gruß Marcus
Support per Mail, PN, ICQ oder MSN ist kostenpflichtig!
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) } |
 |
|
|
|
|
| Columbo |
Geschrieben am 30. Januar 2011 17:03:03
|
Stammgast

Posts: 91
Registriert seit: 25.10.10
FortgeschrittenerNächstes Level: 92/100 Scores: gesperrt
Verwarnstatus:    
|
Danke 
Jetzt habe ich aber anderen Fehler:
You have an error in your SQL syntax |
 |
|
|
|
|
| emblinux |
Geschrieben am 30. Januar 2011 17:13:09
|


Posts: 3709
Registriert seit: 04.10.08
MeisterNächstes Level: 3732/5000 Scores: gesperrt
|
Mir war bisher unbekannt, das man bei einem INSERT-Statement ein SET machen darf. Das ist doch nur bei einem UPDATE möglich.
Man lernt halt immer noch was dazu.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Alles wird Gut!
KEIN Support per Mail, ICQ oder PN !
 |
 |
|
|
|
|
| MarcusG |
Geschrieben am 30. Januar 2011 17:31:39
|


Posts: 2944
Registriert seit: 21.01.09
MeisterNächstes Level: 2951/5000 Scores: gesperrt
|
http://dev.mysql....nsert.html
INSERT fügt neue Datensätze in eine vorhandene Tabelle ein. Die Formen INSERT ... VALUES und INSERT ... SET der Anweisung fügen Datensätze basierend auf explizit angegebenen Werten ein.
@Columbo: Etwas genauer wäre gut...
Editiert von MarcusG am 30. Januar 2011 17:32:42
Gruß Marcus
Support per Mail, PN, ICQ oder MSN ist kostenpflichtig!
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) } |
 |
|
|
|
|
| Columbo |
Geschrieben am 30. Januar 2011 18:20:11
|
Stammgast

Posts: 91
Registriert seit: 25.10.10
FortgeschrittenerNächstes Level: 92/100 Scores: gesperrt
Verwarnstatus:    
|
Die Fehlermeldung:
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 'zahl = '3' , land = 'Schottland'' at line 3Es ist ein Fehler aufgetreten. |
 |
|
|
|
|
| emblinux |
Geschrieben am 30. Januar 2011 19:36:21
|


Posts: 3709
Registriert seit: 04.10.08
MeisterNächstes Level: 3732/5000 Scores: gesperrt
|
sieht so aus, als fehle da ein Hochkomma.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Alles wird Gut!
KEIN Support per Mail, ICQ oder PN !
 |
 |
|
|
|
|
| Columbo |
Geschrieben am 30. Januar 2011 21:32:34
|
Stammgast

Posts: 91
Registriert seit: 25.10.10
FortgeschrittenerNächstes Level: 92/100 Scores: gesperrt
Verwarnstatus:    
|
Wo fehlt ein Hochkomma?
Also hier nicht:
Code $result = dbquery("INSERT INTO "tabelle" SET
zahl = '".$zahl."' ,
land = '".$land."' ,
strasse = '".$strasse."'");
|
 |
|
|
|
|
| emblinux |
Geschrieben am 30. Januar 2011 21:38:39
|


Posts: 3709
Registriert seit: 04.10.08
MeisterNächstes Level: 3732/5000 Scores: gesperrt
|
Laut Fehlermeldung sah es so aus, als fehle dort ein Hochkomma. aber jetzt wird mir klar, was du falsch gemacht hast.
du hast bestimmt keine Konstante, die tabelle heißt oder ?
Code $result = dbquery("INSERT INTO tabellenname SET
zahl = '".$zahl."' ,
land = '".$land."' ,
strasse = '".$strasse."'");
Oder
Code $result = dbquery("INSERT INTO ".TABELLE." SET
zahl = '".$zahl."' ,
land = '".$land."' ,
strasse = '".$strasse."'");
wobei hier die Konstante TABELLE den Tabellenname per define zugewiesen wurde.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Alles wird Gut!
KEIN Support per Mail, ICQ oder PN !
 |
 |
|
|
|
|
| Columbo |
Geschrieben am 30. Januar 2011 22:22:49
|
Stammgast

Posts: 91
Registriert seit: 25.10.10
FortgeschrittenerNächstes Level: 92/100 Scores: gesperrt
Verwarnstatus:    
|
Danke =)
Aber es passiert noch immer:
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 'zahl = '3' , strasse = 'Strasse'' at line 3Es ist ein Fehler aufgetreten.
*Edit: Ich habe das genommen:
Code
$result = dbquery("INSERT INTO tabellenname SET
zahl = '".$zahl."' ,
land = '".$land."' ,
strasse = '".$strasse."'");
Editiert von Columbo am 30. Januar 2011 22:23:38 |
 |
|
|
|
|
| emblinux |
Geschrieben am 30. Januar 2011 22:34:36
|


Posts: 3709
Registriert seit: 04.10.08
MeisterNächstes Level: 3732/5000 Scores: gesperrt
|
Versuche mal dort, wo du Zahlen verwendest keine Hochkommas zu verwenden.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Alles wird Gut!
KEIN Support per Mail, ICQ oder PN !
 |
 |
|
|
|
|
| Columbo |
Geschrieben am 30. Januar 2011 22:56:17
|
Stammgast

Posts: 91
Registriert seit: 25.10.10
FortgeschrittenerNächstes Level: 92/100 Scores: gesperrt
Verwarnstatus:    
|
Wird auch nicht besser :(
Code $result = dbquery("INSERT INTO haustiere_tierhandlung_tiere_katzen SET
land = '".$land."' ,
zahl = ".$zahl." ,
strasse = '".$strasse."'");
=
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 'zahl = 3 , strasse = 'Strasse'' at line 3Es ist ein Fehler aufgetreten.
Komisch, die Fehlermeldung kommt immer nur bei Zahl und Strasse, nie bei Land... |
 |
|
|
|
|
| emblinux |
Geschrieben am 30. Januar 2011 22:58:18
|


Posts: 3709
Registriert seit: 04.10.08
MeisterNächstes Level: 3732/5000 Scores: gesperrt
|
Wie sieht denn die Tabellenstruktur aus ?
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius
Alles wird Gut!
KEIN Support per Mail, ICQ oder PN !
 |
 |
|
|
|
|
| Columbo |
Geschrieben am 30. Januar 2011 23:04:12
|
Stammgast

Posts: 91
Registriert seit: 25.10.10
FortgeschrittenerNächstes Level: 92/100 Scores: gesperrt
Verwarnstatus:    
|
 |
 |
|
|
|
|
| MarcusG |
Geschrieben am 31. Januar 2011 07:28:08
|


Posts: 2944
Registriert seit: 21.01.09
MeisterNächstes Level: 2951/5000 Scores: gesperrt
|
Nur um sicher zu gehen: Änder mal die Reihenfolge des INSERT auf die selbe wie in der Tabelle, also land - strasse - zahl.
Gruß Marcus
Support per Mail, PN, ICQ oder MSN ist kostenpflichtig!
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) } |
 |
|
|
|
|
| Columbo |
Geschrieben am 31. Januar 2011 12:25:24
|
Stammgast

Posts: 91
Registriert seit: 25.10.10
FortgeschrittenerNächstes Level: 92/100 Scores: gesperrt
Verwarnstatus:    
|
Danke 
Jetzt hat sich die Fehlermeldung etwas verändert:
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 'alter = '3' , gewicht = 6 , futter = 'Futter' at line 2Es ist ein Fehler aufgetreten.
Habe diesmal eine andere Tabelle genommen, aber in der Reihenfolge der Tabellenstruktur. |
 |
|
|
|
|
| MarcusG |
Geschrieben am 31. Januar 2011 14:11:21
|


Posts: 2944
Registriert seit: 21.01.09
MeisterNächstes Level: 2951/5000 Scores: gesperrt
|
Aber ein einzelnes Feld einfügen geht? Die Tabelle selbst ist also definiert und wird richtig erkannt?
Zeig doch mal das komplette Script.
Gruß Marcus
Support per Mail, PN, ICQ oder MSN ist kostenpflichtig!
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) } |
 |
|
|
|
|
| Columbo |
Geschrieben am 31. Januar 2011 14:46:16
|
Stammgast

Posts: 91
Registriert seit: 25.10.10
FortgeschrittenerNächstes Level: 92/100 Scores: gesperrt
Verwarnstatus:    
|
Ich habe viele Scripts dazu, wegen vielen verschiedenen versuchen zur Lösung - das aktuellste:
Code
<?php
if ( isset($_POST['button']) && $_POST['button'] =="Speichern" )
{
//include("db.php");
$alter = $_POST['alter'];
$gewicht = $_POST['gewicht'];
$futter = $_POST['futter'];
$rasse = $_POST['rasse'];
$result = dbquery("INSERT INTO tabelle SET
alter = '".$alter."' ,
gewicht = ".$gewicht." ,
futter = '".$futter."'");
if ( $result)
{
echo "Die Daten wurden eingetragen <br />";
}
else
{
echo "Es ist ein Fehler aufgetreten.<br />";
}
}
else
{
echo '<form method="post" action="test3.php">
Alter: <input type="text" name="alter" value=""><br />
Gewicht: <input type="text" name="gewicht" value=""><br />
Futter: <input type="text" name="futter" value=""><br />
<input type="submit" name="button" value="Speichern">
</form>';
}
?>
Editiert von Columbo am 31. Januar 2011 23:04:40 |
 |
|
|
|
|
| st22 |
Geschrieben am 31. Januar 2011 21:42:41
|

Anfänger

Posts: 46
Registriert seit: 09.06.10
LehrlingNächstes Level: 46/50 Scores: gesperrt
Verwarnstatus:    
|
Irgendwie passt das Script nicht zur Tabellenstruktur...
Alle Angaben ohne Gewähr.
Rechtschreibfehler sind beabsichtigt und dienen zur allgemeinen Belustigung.
WebTwitterCsharpProjects
|
 |
|
|
|
|
| MarcusG |
Geschrieben am 31. Januar 2011 22:07:45
|


Posts: 2944
Registriert seit: 21.01.09
MeisterNächstes Level: 2951/5000 Scores: gesperrt
|
Ja das hab ich mir auch gedacht.
Es wäre für dich und uns hilfreich wenn du mal das aktuelle Script mit der dazu passenden Tabellenstruktur zeigen könntest.
Gruß Marcus
Support per Mail, PN, ICQ oder MSN ist kostenpflichtig!
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) } |
 |
|