PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe bei PHP/MySQL INSERT INTO


HundamStrand
28.02.2008, 16:32:57
Hallo,

ich habe ein kleines Problem. Und zwar geht es darum, aus Flash zwei Variablen an ein PHP Skript zu übergeben um diese dann in eine Datenbank zu übergeben. Die Übergabe aus Flash zum PHP Skript klappt und wurde von mir geprüft mittels einer einfachen Abfrage:

$clip="test.swf";
if(($nam=="fritze") AND ($mail=="meier"))
{

$nam1="login ok fuer ";
echo "&signal=1&ausgabe=$nam1+$nam+$pw&clip=$clip&";
}else{
$nam1="login fehlgeschlagen fuer ";
echo "&signal=2&ausgabe=$nam1+$nam+$pw&";
}

Wenn also fritze und meier eingegeben wurde, sprang er im Flash zum nächsten Bild. Die Übergabe klappt also.

Nun will ich vorher die Variable nam und mail in die Datenbank überführen.
Hier mein Ansatz:

<?

include("config.php");

mysql_query("INSERT INTO "$db_table" (id,email,name) VALUES ('','"$mail"','"$nam"')";
@mysql_close($db);

$clip="test.swf";
if(($nam=="fritze") AND ($mail=="meier"))
{

$nam1="login ok fuer ";
echo "&signal=1&ausgabe=$nam1+$nam+$pw&clip=$clip&";
}else{
$nam1="login fehlgeschlagen fuer ";
echo "&signal=2&ausgabe=$nam1+$nam+$pw&";
}

?>

Vielleicht ist irgendwo ein kleiner Syntax Fehler? Ich seh es einfach nicht. Muss auch zu geben, dass ich neu auf diesem Gebiet bin. In der config.php steht noch folgendes:

<?
//Datenbank
$db_server = "localhost"; //Server
$db_name = "(entfernt)"; //Name der Datenbank
$db_user = "(entfernt"; //Username
$db_password = "(entfernt)"; //Passwort
$db_table = "newsletter"; //Name, wie die Tabelle heißen soll (wird automatisch angelegt)

//Variablen
$title = "(entfernt)"; //Titel der Seite
$url = "(entfernt)"; //Komplette URL zum Script (mit abschließendem "/")
$admin_email = "(entfernt)"; //eMail für Bestätigung
$password = "(entfernt)"; //Passwort für Administration
$name_min_length = 2; //Minimale Länge für Name

//Darstellung
$subject = "Newsletter"; //Betreff des Newsletters
//Newslettertext
$body = "Hallo &&name&&!

&&text&&

--
Diese eMail erhältst du, weil du dich im Newsletter von ".$title." eingetragen hast.
Möchtest du dich austragen, klicke bitte auf folgenden Link und wähle die Rubrik Neuigkeiten -> Newsletter.
Dort kannst du dich nach Eingabe deiner Daten ggf. abmelden.
".$url;

/*############### SCRIPT ###############*/
$db = @mysql_connect($db_server,$db_user,$db_password) or die("Konnte keine Verbindung zur Datenbank herstellen");
@mysql_select_db($db_name);
?>

Puh, ich hoffe ihr seht durch. :)

Grüße
HundamStrand

Michael_Roelle
28.02.2008, 21:33:20
Gibt es eine Fehlermeldung?

Schöner:
mysql_query("INSERT INTO " . $db_table . " (id,email,name) VALUES ('','" . $mail . "','" . $nam . "')";

|Coding
28.02.2008, 21:49:21
Hi!

Hier dürfe der Fehler liegen:

mysql_query("INSERT INTO "$db_table" (id,email,name) VALUES ('','"$mail"','"$nam"')";

In dieser Zeile sind reichlich Syntax-Fehler drin, versuch es mal so:

mysql_query("INSERT INTO " . $db_table . " (id,email,name) VALUES ('','" . $mail . "','" . $nam . "')");

|Coding
28.02.2008, 21:50:35
mysql_query("INSERT INTO " . $db_table . " (id,email,name) VALUES ('','" . $mail . "','" . $nam . "')"; Da fehlt noch die Abschließende Klammer :-)

Heinrich
28.02.2008, 23:30:33
Die Spalte ID soll doch wohl der eindeutige Schlüssel sein und wird üblicherweise mit auto_increment automatisch hochgezählt.

Dann kann's nicht klappen, weil dein Script für die ID nix (' ') eintragen will.

Lass' die ID beim Insert einfach weg.