kein MySQL Zugriff ohne Error
kein MySQL Zugriff ohne Error
Hi Leute...
ich hab nen ziemlich merkwürdiges Problem...
Ich habe ein Modul gebaut, das Wörter in eine extra MySQL Datenbank schreibt.....Zuvor füllt der User ein Formular aus welches dann ausgewertet wird und an die DB weitergegeben wird....
Wenn ich jetzt aber auf "Submit" klicke....schreibt er nicht in die Datenbank......und das ohne einen Mucks zu sagen...
Es steht nichts! in der errorlog.txt drin, noch ist in der Statuszeile etwas zu erkennen...
An meiner Datenbank hat sich natürlich auch nichts getan...
Hat jemand eine Idee?
Auf Wunsch poste ich den Code..
Gruß
Julian
ich hab nen ziemlich merkwürdiges Problem...
Ich habe ein Modul gebaut, das Wörter in eine extra MySQL Datenbank schreibt.....Zuvor füllt der User ein Formular aus welches dann ausgewertet wird und an die DB weitergegeben wird....
Wenn ich jetzt aber auf "Submit" klicke....schreibt er nicht in die Datenbank......und das ohne einen Mucks zu sagen...
Es steht nichts! in der errorlog.txt drin, noch ist in der Statuszeile etwas zu erkennen...
An meiner Datenbank hat sich natürlich auch nichts getan...
Hat jemand eine Idee?
Auf Wunsch poste ich den Code..
Gruß
Julian
sieh dir dein insert statement an und schau ob die daten dann wirklich zur verfügung stehen.
*** make your own tools (wishlist :: thx)
ich habe jetzt ein paar Sachen getestet....
also z.b. einfach eine falsche datenbank angegeben...oder eine Spalte aufgerufen die es nicht gibt....usw.
im Normalfall...gibt "mysql_result" ein FALSE zurück wenn keine Ergebnis besteht....
Es komtm aber weder ein TRUE noch ein FALSE an !!!
Ich weis echt nicht mehr weiter...
Julian
also z.b. einfach eine falsche datenbank angegeben...oder eine Spalte aufgerufen die es nicht gibt....usw.
im Normalfall...gibt "mysql_result" ein FALSE zurück wenn keine Ergebnis besteht....
Es komtm aber weder ein TRUE noch ein FALSE an !!!
Ich weis echt nicht mehr weiter...
Julian
ein mysql_query hast du vorher aber schon ausgeführt oder ?
poste mal dein script...
poste mal dein script...
*** make your own tools (wishlist :: thx)
hallo emergence,
ich poste jetzt nur den PHP Teil...der andere teil ist überflüssig...
so wie es dort ist, kommt es auch in meinem Modul vor...
so....mal sehen ob ihr du was findest.......rein theoretisch müsste es so gehen......die QUERYS haben im MySQL Shell ja funktioniert...
Gruß
Julian
ich poste jetzt nur den PHP Teil...der andere teil ist überflüssig...
so wie es dort ist, kommt es auch in meinem Modul vor...
Code: Alles auswählen
<?php
if ($edit)
{
echo "Geben Sie eins oder mehrere Stichwörter zur jeweiligen Gruppe ein.<br>
<form action=\"\" name=\"eingabe\" method=\"post\" onSubmit=\"return chkFormular()\">
<pre>
<input type=\"text\" name=\"rezept\" >Rezept-Stichwort<br>
<input type=\"text\" name=\"zutat\" >Zutaten-Stichwort<br>
<input type=\"text\" name=\"art\">Art des Rezeptes (Dessert)<br>
<input type=\"text\" name=\"aufwand\">Aufwand (mittel/schwer)<br>
<input type=\"submit\" name=\"senden\" value=\"Speichern\"><br>
</pre>
</form>
";
$db = mysql_connect()
OR die ('ERROR');
/*Art und Aufwand des Rezeptes-----------Rezept wird geschrieben----------------------------------------------*/
if (isset($senden) && ($art!="" && $aufwand!=""))
{
$awd = "$aufwand";
$art_rzp = "$art";
echo "Das Rezept ist unter der Kategorie: $art_rzp und ist im Artikel Nr.<b>$idart</b> gespeichert.<br>";
echo "Der Aufwand bzw. Schwierigkeitsgrad beträgt : $awd und ist in Artikel Nr.<b>$idart</b> gespeichert.<br>";
/*-A-----SELECT ContenidoDB Titel des Artikels-------------*/
$qryTitel = "SELECT title FROM con_art_lang where idart= $idart";
$resTitel = mysql_db_query("leer",$qryTitel);
$title = mysql_result($resTitel,0);
/*-B-----INSERT Tabelle Rezept -------------------------------*/
$qryRezept = "INSERT INTO rezept (rzp_name,rzp_art,rzp_aufwand,rzp_conartid) VALUES ($title,$art,$aufwand,$idart)";
$resRezept = mysql_db_query("leer",$qryRezept);
}
else exit;
// TODO FEHLERMELDUNG
/*Rezept-Stichwörter---------------------------------------------------------------------------------------*/
if (isset($senden) && $rezept!="")
{
$kwd_art = "r";
$rzp = "$rezept";
$exRezept = explode ("," , $rzp);
echo "Das Rezept ist durch : ";
foreach ($exRezept as $value)
{
$r++;
echo "<b>$value, </b>";
}
echo "im Artikel Nr.<b>$idart</b> zu finden.<br>";
echo "Im Feld: <br>";
for ($i=0;$i<$r;$i++)
{
echo "$i steht das Wort: $exRezept[$i].<br>";
/*-F-----INSERT Tabelle keyword---------------------------------*/
$qryKeyword = "INSERT INTO keyword (kwd_art,kwd_text) VALUES ($kwd_art,$exRezept[$i])";
$resKeyword = mysql_db_query("kochbuch",$qryKeyword);
/*-C-----SELECT Tabelle keyword-----------------------------*/
$qryKWD = "SELECT max(kwd_id) FROM keyword";
$resKWD = mysql_db_query("kochbuch",$qryKWD);
$rhk_kwdid = mysql_result($resKWD,0);
/*-D-----SELECT Tabelle rezept----------------------------------*/
$qryREZ = "SELECT max(rzp_ID) FROM rezept";
$resREZ = mysql_db_query("kochbuch",$qryREZ);
$rzp_ID = mysql_result($resREZ,0);
/*-E-----INSERT Tabelle rezept_hat_keyword-------------------*/
$qryRHK = "INSERT INTO rezept_hat_keyword (rhk_rzpid,rhk_kwdid) VALUES ($rzp_ID,$rhk_kwdid)";
$resRHK = mysql_db_query("kochbuch",$qryRHK);
}
echo "<br>";
}
else exit;
/*Zutaten-Stichwörter---------------------------------------------------------------------------------------*/
if (isset($senden) && $zutat!="")
{
$kwd_art = "z";
$zut = "$zutat";
$exZutat = explode ("," , $zut);
echo "Durch Eingabe von folgenden Zutaten: ";
foreach ($exZutat as $value)
{
$z++;
echo "<b>$value, </b>";
}
echo "kann man den Artikel Nr.<b>$idart</b> finden.<br>";
echo "Im Feld: <br>";
for ($i=0;$i<$z;$i++)
{
echo "$i steht das Wort: $exZutat[$i].<br>";
/*-F-----INSERT Tabelle keyword---------------------------------*/
$qry_kwd = "INSERT INTO keyword (kwd_art,kwd_text) VALUES ($kwd_art,$exZutat[$i])";
$res_kwd = mysql_db_query("kochbuch",$qry_kwd);
/*-C-----SELECT Tabelle keyword-----------------------------*/
$qry_keyword = "SELECT max(kwd_id) FROM keyword";
$res_keyword = mysql_db_query("kochbuch",$qry_keyword);
$rhk_kwdid = mysql_result($res_keyword,0);
/*-D-----SELECT Tabelle rezept----------------------------------*/
$qry_rez = "SELECT max(rzp_ID) FROM rezept";
$res_rez = mysql_db_query("kochbuch",$qry_rez);
$rzp_ID = mysql_result($res_rez,0);
/*-E-----INSERT Tabelle rezept_hat_keyword-------------------*/
$qry_rhk = "INSERT INTO rezept_hat_keyword (rhk_rzpid,rhk_kwdid) VALUES ($rzp_ID,$rhk_kwdid)";
$res_rhk = mysql_db_query("kochbuch",$qry_rhk);
}
echo "<br>";
}
else exit;
}
?>
so....mal sehen ob ihr du was findest.......rein theoretisch müsste es so gehen......die QUERYS haben im MySQL Shell ja funktioniert...
Gruß
Julian
testen kann ich es bei mir ja nicht, dafür ist es zu spezifisch aufgebaut.
ähm, die zwei dbs heissen kochbuch und leer ? wie auch immer
bekommst du überhaupt den titel des artikels raus ?
ich würde nach jedem query mal ein echo reinbauen damit man überhaupt sieht wie die einzelnen queries in php zusammengebaut werden.
was bei mir aber funktioniert ist das:
ähm, die zwei dbs heissen kochbuch und leer ? wie auch immer
bekommst du überhaupt den titel des artikels raus ?
ich würde nach jedem query mal ein echo reinbauen damit man überhaupt sieht wie die einzelnen queries in php zusammengebaut werden.
was bei mir aber funktioniert ist das:
Code: Alles auswählen
<?php
$query = "SELECT title FROM con_art_lang where idart= $idart";
$result = mysql_db_query("contenido",$query);
$title = mysql_result($result,0);
echo "title: '".$title."'";
?>
*** make your own tools (wishlist :: thx)
ja, da ich eine kochbuch DB habe und....da Contenido zu Anfang eine leere DB haben wollte..habe ich der Contenido DB den Namen "leer" gegeben.....ich weis nicht sehr creativ....ähm, die zwei dbs heissen kochbuch und leer ? wie auch immer
ja...den hole ich mir aus der Contenido DB aus der tabelle "con_art_lang"..bekommst du überhaupt den titel des artikels raus ?
Was mir vorhin noch augefallen ist, ist das ich bei den INSERTS ein paar Hochkomma vergessen hab....die sind nun berichtigt.....
habe ich auch schon gemacht....gibt er jetzt alles richtig aus...nur er schreibt es weder rein noch schmeißt er nen Fehler..ich würde nach jedem query mal ein echo reinbauen
danke erstmal....ich hoffe du hast vieleicht nochn Tip (oder wer anders)
Gruß
Julian
versuchs mal auf ein query einzugrenzen welches nicht ausgeführt wird.JulianH. hat geschrieben:gibt er jetzt alles richtig aus...nur er schreibt es weder rein noch schmeißt er nen Fehler..
*** make your own tools (wishlist :: thx)
Code: Alles auswählen
/*-B-----INSERT Tabelle Rezept -------------------------------*/
$qryRezept = "INSERT INTO rezept (rzp_name,rzp_art,rzp_aufwand,rzp_conartid) VALUES ('$title','$art_rzp','$awd',$idart)";
$resRezept = mysql_db_query("leer",$qryRezept);
"rzp_name" = Name des Artikel aus der Contenido DB (wird bei mir zum Titel des Rezeptes..
"rzp_art" = ist die Rezeptart
"rzp_aufwand" = ist halt der Aufwand
"rzp_conartid" = ist die Artikelnummer aus Contenido
------------------------------------------------------------------------
gruß
Julian
schreib mal folgendes
Code: Alles auswählen
/*-B-----INSERT Tabelle Rezept -------------------------------*/
$qryRezept = "INSERT INTO rezept (rzp_name,rzp_art,rzp_aufwand,rzp_conartid) VALUES ('$title','$art_rzp','$awd',$idart)";
$resRezept = mysql_db_query("leer",$qryRezept);
echo mysql_errno() . ": " . mysql_error() . "\n";
sehr schönJulianH. hat geschrieben:die anderen Querys gehen jetzt.....
*** make your own tools (wishlist :: thx)
wenn kein mysql fehler gemeldet wird kannst du auch folgendes hineinschreiben:
printf ("Last inserted record has id %d\n", mysql_insert_id());
printf ("Last inserted record has id %d\n", mysql_insert_id());
*** make your own tools (wishlist :: thx)