mysql_query failt

05/02/2013 19:54 BattleTale#1
Irgendwie failt mein mysql_query immer
PHP Code:
mysql_query("INSERT INTO `customer` (`id`, `anrede`, `firm`, `firstname`, `lastname`, `birth`, `street`, `housenumber`, `postalcode`, `city`, `location`, `mail`, `password`, `website_rights`, `validation`, `validation_key`) VALUES ('', '".$salutation."', '".$firmname."', '".$firstname."', '".$lastname."', '".$birth."', '".$street."', ".$housenumber.", '".$postalcode."', '".$city."', '".$phone."', '".$mail."', '".$md5pw."', '', '', '".$key."')"); 
allerdings wird nichts in der datenbank eingetragen.
Darauf habe ich mir mal folgendes ausgeben lassen
PHP Code:
echo "INSERT INTO `customer` (`id`, `anrede`, `firm`, `firstname`, `lastname`, `birth`, `street`, `housenumber`, `postalcode`, `city`, `location`, `mail`, `password`, `website_rights`, `validation`, `validation_key`) VALUES ('', '".$salutation."', '".$firmname."', '".$firstname."', '".$lastname."', '".$birth."', '".$street."', ".$housenumber.", '".$postalcode."', '".$city."', '".$phone."', '".$mail."', '".$md5pw."', '', '', '".$key."')"
und in PMA eingefügt und alles wurde wunderbar erstellt.
Aber über PHP nicht, wo ist der Fehler?

Danke im Vorraus
05/02/2013 20:42 telcy#2
mach mal:

$query = mysql_query(...

if($query== true) { echo "success"; } else { echo "failed"; }
05/02/2013 20:42 Rmark#3
was gibt denn mysql_error() aus?
05/02/2013 20:54 BattleTale#4
@telcy ist drin schon, zwar anders und bekomme als Resultat das es fehlgeschlagen ist:
PHP Code:
if($query == true)
            {
                
mailRegistration($mail$firstname$key);
                
$ausgabe '<div class="success">Es wurde eine Bestätigungsemail an <span class="bold">'$mail .'</span> geschickt. Nach bestätigung Ihrer E-Mail steht Ihnen unser Service zur verfügung.</div>';
            }
            else
            {
                echo 
'<div class="fail">Es konnte keine E-Mail verschickt werden, bitte informiere uns unter <span class="bold">ms@****.com</span></div>';
            } 
und mysql_error kommt keiner.
05/02/2013 21:00 tayfe#5
Du hast in deinem Query einmal die Hochkommata vergessen, und zwar bei
PHP Code:
".$housenumber." 
So müsste das dann aussehen:
PHP Code:
mysql_query("INSERT INTO `customer` (`id`, `anrede`, `firm`, `firstname`, `lastname`, `birth`, `street`, `housenumber`, `postalcode`, `city`, `location`, `mail`, `password`, `website_rights`, `validation`, `validation_key`) VALUES ('', '".$salutation."', '".$firmname."', '".$firstname."', '".$lastname."', '".$birth."', '".$street."', '".$housenumber."', '".$postalcode."', '".$city."', '".$phone."', '".$mail."', '".$md5pw."', '', '', '".$key."')"); 
Um ggf. noch weitere Fehler zu finden, könntest du die funktion mysql_error einbauen:
PHP Code:
$abfrage "INSERT INTO `customer` (`id`, `anrede`, `firm`, `firstname`, `lastname`, `birth`, `street`, `housenumber`, `postalcode`, `city`, `location`, `mail`, `password`, `website_rights`, `validation`, `validation_key`) VALUES ('', '".$salutation."', '".$firmname."', '".$firstname."', '".$lastname."', '".$birth."', '".$street."', '".$housenumber."', '".$postalcode."', '".$city."', '".$phone."', '".$mail."', '".$md5pw."', '', '', '".$key."')";
$ergebnis mysql_query($abfrage)
    OR die(
"Error: $abfrage <br>".mysql_error()); 
Die Funktion gibt dir den letzten MySQL-Error aus. Damit solltest du dann eigentlich alle Probleme lösen können.
05/02/2013 21:00 dowhile#6
mysql_error() gibt wirklich nichts zurück? Sicher? Wie rufst du die Methode auf (wo)?
05/02/2013 21:18 BattleTale#7
PHP Code:
$abfrage "INSERT INTO `customer` (`id`, `anrede`, `firm`, `firstname`, `lastname`, `birth`, `street`, `housenumber`, `postalcode`, `city`, `location`, `mail`, `password`, `website_rights`, `validation`, `validation_key`) VALUES ('', '".$salutation."', '".$firmname."', '".$firstname."', '".$lastname."', '".$birth."', '".$street."', '".$housenumber."', '".$postalcode."', '".$city."', '".$phone."', '".$mail."', '".$md5pw."', '', '', '".$key."')";
            
$ergebnis mysql_query($abfrage)
                OR die(
"Error: $abfrage <br>".mysql_error()); 
es gibt kein mysql_error
es gab anscheind ein Problem mit den Port

________________________________
Edit: Klappt nun, habe MySQL neugestartet
05/02/2013 22:48 Mikesch01#8
p.s die id sollte immer per auto_increment hochgezählt werden!

Du hast hier per Hand einen leeren String eingetragen. Kann auch daran liegen ;)
05/03/2013 07:37 BattleTale#9
In MySQL so eingestellt das es AI und NOT NULL ist.

Wie geht es denn besser?
05/03/2013 13:15 pdf#10
lass id einfach aus der query komplett raus
05/03/2013 13:31 BattleTale#11
könnte man auch machen, habe es aber bis jetzt immer so gemacht und es damals in der schule auch so gelernt.
05/03/2013 18:04 kissein#12
Quote:
Originally Posted by Schmizi' View Post
könnte man auch machen, habe es aber bis jetzt immer so gemacht und es damals in der schule auch so gelernt.
Das Bildungswesen war auch schonmal besser :(
05/03/2013 22:04 BattleTale#13
Quote:
Originally Posted by kissein View Post
Das Bildungswesen war auch schonmal besser :(
Kann man leider nichts dran ändern. Aber wenigstens lerne ich hier dazu :D

#closerequest