Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Fehlermeldung!!! [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Fehlermeldung!!!


 
-=Taipan=-
12-06-2003, 17:41 
 
Hi

hier ist meine fehlermeldung, die ich immer wieder erhalte!
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\MyServer\MyWeb\htdocs\Uebungen\Kevin_Yank\challenge2.php on line 65

oder das!
Error during the execution of the inquiry: Fehler in der Syntax bei '' in Zeile 1.

kann mir bitte einer von euch helfen?

quelltext:

<?php
if (isset($addjoke)):
?>

<form action="<?=$PHP_SELF?>" method="post">
<p>Geben Sie ihren Witz hier ein:<br>
Author: <input type="Text" name="name" size="30">
EMail: <input type="Text" name="email" size="30"><br><br>
<textarea name="joketext" rows="10" cols="40" wrap>
</textarea><br>
<input type="Submit" name="submitjoke" value="Speichern">
</p>
</form>

<?php
else:
$dbc = @mysql_connect("localhost", "xxx", "xxx");
if (! $dbc) {
echo ("Can not connectet to the server Please try late");
exit();
}

if (! @mysql_select_db("Jokes")) {
echo ("Selection of the data base at present not possible");
exit();
}

if ($submitjoke == "Speichern") {
$sql = "INSERT INTO Jokes SET JokeText='$joketext', Name='$name', EMail='email', JokeDate=CURDATE()";
if (@mysql_query($sql)) {
echo ("Congratulations! Their Joke was registered in the data base!<br>");
} else {
echo ("Error with add the Joke:<br> " . mysql_error());
}
}

if (isset($deletejoke)) {
$sql = "DELETE FROM Jokes WHERE ID = $deletejoke";
if (@mysql_query($sql)) {
echo ("The Joke was removed from that data base!<br>");
} else {
echo ("Error with delete the Joke:<br> " . mysql_error());
}
}

echo ("Here are all Joke in ours data base!<br><br>");

$jokelist = mysql_query("SELECT ID, JokeText, JokeDate, AID FROM Jokes");
if (!$jokelist) {
echo ("Error during the execution of the inquiry: " . mysql_error());
exit();
}

while ($joke = mysql_fetch_array($jokelist)) {
$id = $joke["ID"];
$joketext = $joke["JokeText"];
$jokedate = $joke["JokeDate"];
$aid = $joke["AID"];
}

$authordetails = mysql_query("SELECT Name, EMail FROM Authors WHERE ID=$aid");
if (!$authordetails) {
echo ("Error during the execution of the inquiry: " . mysql_error());
exit();
}

while ($author = mysql_fetch_array($authordetails)) {
$name = $author["Name"];
$email = $author["EMail"];

echo ("<table cellspacing='2' cellpadding='2' border='1' width='100%'><tr><td>$id</td><td>$joketext</td><td>$name</td><td>$email</td><td>$jokedate</td><td><a href='$PHP_SELF?deletejoke=$jokeid'>" . "Delete joke from Database</a></td></tr></table>");
}

echo ("<a href='$PHP_SELF?addjoke=1'>Add own joke!</a>");
endif;
?>

php.tags presented by Abraxax

 
Abraxax
12-06-2003, 17:45 
 
1. kann man schon an der meldung erkenne, dass es ein sql-problem gibt. *VERSCHIEB*

2. poste bitte demnächst ins richtige forum

3. solltest du mal die @'s entfernen! :teach:

4. ist ein or die(mysql_error()) bei den abfragen SEHR NÜTZLICH.

5. machst du 3-4 korrekt und postest dann dein ergebnis.

6. alles klar?

 
-=Taipan=-
12-06-2003, 17:55 
 
hi Abraxax

danke für den schnellen antwort!
aber das mit dem @ ist nur dafür gedacht, um meine fehlermeldung anzuzeigen, was du ja bestimmt auch weisst! was hat das mit mein problem zu tun? übrigens in anderen scripten funkt es!
ich habe ein datenbank mit 2 tabellen erstellt! der eine heisst jokes und der andere authors! jokes beinhaltet die texte, datum und den AuthorID und authors speichert den namen und emailadresse vom author ab!

gruss
TP

 
Abraxax
12-06-2003, 18:03 
 
Original geschrieben von -=Taipan=-
aber das mit dem @ ist nur dafür gedacht, um meine fehlermeldung anzuzeigen, was du ja bestimmt auch weisst! schon klar. aber zum testen/entwickeln solltest du es lassen.

ausserdem... was ist mit punkt 4 ?

 
hand
12-06-2003, 18:14 
 
Gibt es da ein Mißverständnis?

Du schreibst aber das mit dem @ ist nur dafür gedacht, um meine fehlermeldung anzuzeigen,

Genau das tut es gerade nicht. @ verhindert die Ausgabe eines Fehlers !!

 
hand
12-06-2003, 18:16 
 
Die Fehler beziehen sich vermutlich auf die Zeile:

$authordetails = mysql_query("SELECT Name, EMail FROM Authors WHERE ID=$aid");


Ist die Variable $aid überhaupt mit einem Wert belegt?

mach mal ein

print "aid:$aid<br>\n";

danach

 
-=Taipan=-
12-06-2003, 18:20 
 
also gut!

ich habe es geändert, aber es hat sich nichts geändert :(
es kommt immernoch die fehlermeldung ->
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\MyServer\MyWeb\htdocs\Uebungen\Kevin_Yank\challenge2.php on line 65

die texte, id, date und delete funktion wird angezeigt, wie schon am anfang!

<?php
else:
$dbc = mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());

if (! mysql_select_db("Jokes")) {
echo ("Selection of the data base at present not possible");
exit();
}

if ($submitjoke == "Speichern") {
$sql = "INSERT INTO Jokes SET JokeText='$joketext', Name='$name', EMail='email', JokeDate=CURDATE()";
if (! mysql_query($sql)) {
echo ("Congratulations! Their Joke was registered in the data base!<br>");
} else {
echo ("Error with add the Joke:<br> " . mysql_error());
}
}

if (isset($deletejoke)) {
$sql = "DELETE FROM Jokes WHERE ID = $deletejoke";
if (! mysql_query($sql)) {
echo ("The Joke was removed from that data base!<br>");
} else {
echo ("Error with delete the Joke:<br> " . mysql_error());
}
}

echo ("Here are all Joke in ours data base!<br><br>");

$jokelist = mysql_query("SELECT ID, JokeText, JokeDate, AID FROM Jokes");
if (!$jokelist) {
echo ("Error during the execution of the inquiry: " . mysql_error());
exit();
}

while ($joke = mysql_fetch_array($jokelist)) {
$id = $joke["ID"];
$joketext = $joke["JokeText"];
$jokedate = $joke["JokeDate"];
$aid = $joke["AID"];

$authordetails = mysql_query("SELECT Name, EMail FROM Authors WHERE ID=$aid");
$author = mysql_fetch_array($authordetails);
$name = $author["Name"];
$email = $author["EMail"];

echo ("<table cellspacing='2' cellpadding='2' border='1' width='100%'><tr><td>$id</td><td>$joketext</td><td>$name</td><td>$email</td><td>$jokedate</td><td><a href='$PHP_SELF?deletejoke=$jokeid'>" . "Delete joke from Database</a></td></tr></table>");
}

echo ("<a href='$PHP_SELF?addjoke=1'>Add own joke!</a>");
endif;
?>

 
-=Taipan=-
12-06-2003, 18:41 
 
fehler soll angeblich auf line 65 siehe markierung -> liegen!

$jokelist = mysql_query("SELECT ID, JokeText, JokeDate, AID FROM Jokes");

while ($joke = mysql_fetch_array($jokelist)) {
$id = $joke["ID"];
$joketext = $joke["JokeText"];
$jokedate = $joke["JokeDate"];
$aid = $joke["AID"];

-> $authordetails = mysql_query("SELECT Name, EMail FROM Authors WHERE ID=$aid");
$author = mysql_fetch_array($authordetails);
$name = $author["Name"];
$email = $author["EMail"];

 
hand
12-06-2003, 18:44 
 
Vor diese Zeile schreib bitte mal :


print "aid:$aid<br>\n";


Damit schauen wir nach, ob $aid gesetzt ist.

Das Ergebnis poste bitte

 
Abraxax
12-06-2003, 19:07 
 
$jokelist = mysql_query("SELECT ID, JokeText, JokeDate, AID FROM Jokes");wo ist hier das or die(...)? :goth:

$jokelist = mysql_query("SELECT ID, JokeText, JokeDate, AID FROM Jokes") or die(mysql_error());


Genau das tut es gerade nicht. @ verhindert die Ausgabe eines Fehlers !! @hand. er will die php.meldungen unterdrücken und SEINE eigenen meldungen anzeigen. ;)


@-=Taipan=-
kannst du bitte php.tags verwenden, wenn du code postest. danke.

 
-=Taipan=-
12-06-2003, 19:21 
 
@Abraxax

besser so:)

@hand
meinst du es so?
wenn ja, kommt nur dies!
Here are all Joke in ours data base!

aid:
Fehler in der Syntax bei '' in Zeile 1.


print "aid:$aid<br>\n";
$jokelist = mysql_query("SELECT ID, JokeText, JokeDate, AID FROM Jokes") or die(mysql_error());

while ($joke = mysql_fetch_array($jokelist)) {
$id = $joke["ID"];
$joketext = $joke["JokeText"];
$jokedate = $joke["JokeDate"];
$aid = $joke["AID"];

$authordetails = mysql_query("SELECT Name, EMail FROM Authors WHERE ID=$aid") or die(mysql_error());
$author = mysql_fetch_array($authordetails);
$name = $author["Name"];
$email = $author["EMail"];

echo ("<table cellspacing='2' cellpadding='2' border='1' width='100%'><tr><td>$id</td><td>$joketext</td><td>$name</td><td>$email</td><td>$jokedate</td><td><a href='$PHP_SELF?deletejoke=$jokeid'>" . "Delete joke from Database</a></td></tr></table>");
}

echo ("<a href='$PHP_SELF?addjoke=1'>Add own joke!</a>");
endif;
?>

 
Abraxax
12-06-2003, 19:55 
 
ja. so ists besser und man kann es auch lesen. ;)

aid:
Fehler in der Syntax bei '' in Zeile 1. das ist eine mysql-meldung. der grund deines fehlers. deine abfrage ist nicht korrekt. um rauszufinden, was da nicht stimmt mache bitte alles deine queries anders. ;)

bisher$jokelist = mysql_query("SELECT ID, JokeText, JokeDate, AID FROM Jokes") or die(mysql_error());neu$sql = "SELECT ID, JokeText, JokeDate, AID FROM Jokes";
echo "<pre>".$sql."</pre>"; // nur zum testen eine ausgabe
$jokelist = mysql_query($sql) or die(mysql_error());

was steht jetzt da?

 
-=Taipan=-
12-06-2003, 20:59 
 
meinst du es so, dann wird garnichts mehr angezeigt!
folgende fehlermeldung kommt!
Here are all Joke in ours data base!


SELECT ID, JokeText, JokeDate, AID FROM Jokes
Fehler in der Syntax bei '' in Zeile 1.


$sql = "SELECT ID, JokeText, JokeDate, AID FROM Jokes";
echo "<pre>".$sql."</pre>"; // nur zum testen eine ausgabe
$jokelist = mysql_query($sql) or die(mysql_error());

while ($joke = mysql_fetch_array($jokelist)) {
$id = $joke["ID"];
$joketext = $joke["JokeText"];
$jokedate = $joke["JokeDate"];
$aid = $joke["AID"];

$authordetails = mysql_query("SELECT Name, EMail FROM Authors WHERE ID=$aid") or die(mysql_error());
$author = mysql_fetch_array($authordetails);
$name = $author["Name"];
$email = $author["EMail"];

echo ("<table cellspacing='2' cellpadding='2' border='1' width='100%'><tr><td>$id</td><td>$joketext</td><td>$name</td><td>$email</td><td>$jokedate</td><td><a href='$PHP_SELF?deletejoke=$jokeid'>" . "Delete joke from Database</a></td></tr></table>");
}

echo ("<a href='$PHP_SELF?addjoke=1'>Add own joke!</a>");
endif;
?>

 
hand
12-06-2003, 21:04 
 
Original geschrieben von -=Taipan=-

aid:

Das ist das Resultat des
print "aid:$aid<br>\n";

Die Variable $aid ist nicht belegt, das ist die Ursache für Dein Problem:

Deshalb wird gegen die Datenbank ein falscher Befehl abgesetzt

SELECT Name, EMail FROM Authors WHERE ID=

 
-=Taipan=-
12-06-2003, 21:06 
 
und wenn ich die zweite query wie unten im bespiel auskommentiere, kommt zwar die tabellenfelder was ich unter while schleife anfrage, dennoch funkt die funktion net, sprich delete oder add funktionen!




$sql = "SELECT ID, JokeText, JokeDate, AID FROM Jokes";
echo "<pre>".$sql."</pre>"; // nur zum testen eine ausgabe
$jokelist = mysql_query($sql) or die(mysql_error());

while ($joke = mysql_fetch_array($jokelist)) {
$id = $joke["ID"];
$joketext = $joke["JokeText"];
$jokedate = $joke["JokeDate"];
$aid = $joke["AID"];

//$authordetails = mysql_query("SELECT Name, EMail FROM Authors WHERE ID=$aid") or die(mysql_error());
// $author = mysql_fetch_array($authordetails);
// $name = $author["Name"];
// $email = $author["EMail"];

echo ("<table cellspacing='2' cellpadding='2' border='1' width='100%'><tr><td>$id</td><td>$joketext</td><td>$name</td><td>$email</td><td>$jokedate</td><td><a href='$PHP_SELF?deletejoke=$jokeid'>" . "Delete joke from Database</a></td></tr></table>");
}

echo ("<a href='$PHP_SELF?addjoke=1'>Add own joke!</a>");
endif;
?>

 
-=Taipan=-
12-06-2003, 21:10 
 
@hand

Die Variable $aid ist nicht belegt, das ist die Ursache für Dein Problem:

$aid ist im datenbank unter jokes vorhanden! was meinst du eigentlich mit nicht belegt?

hier ist ein kopie von meinem datenbank!

mysql> show tables;
+-----------------+
| Tables_in_jokes |
+-----------------+
| authors |
| jokes |
+-----------------+
2 rows in set (0.00 sec)

mysql> describe jokes;
+----------+---------+------+-----+------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------+------+-----+------------+----------------+
| ID | int(11) | | PRI | NULL | auto_increment |
| JokeText | text | YES | | NULL | |
| JokeDate | date | | | 0000-00-00 | |
| AID | int(11) | YES | | NULL | |
+----------+---------+------+-----+------------+----------------+
4 rows in set (0.05 sec)

 
Abraxax
12-06-2003, 22:01 
 
Original geschrieben von -=Taipan=-
$aid ist im datenbank unter jokes vorhanden! was meinst du eigentlich mit nicht belegt?du will was in der query verwenden, was deinem script noch nicht bekannt ist. daher kannst du es nicht verwenden. ;)

d.h. $aid muss irgendwo VOR DER ABFRAGE definiert werdne, damit du es IN DER ABFRAGE nutzen kannst.

 
-=Taipan=-
12-06-2003, 22:19 
 
@abraxax

hey meister danke das du und hand mir versucht zu helfen!
ich weiss nicht so recht, aber kann es sein das ich vieleicht zu dum bin, es zu vestehen oder liegt es an etwas anderes?

du hast geschrieben:
d.h. $aid muss irgendwo VOR DER ABFRAGE definiert werdne, damit du es IN DER ABFRAGE nutzen kannst.

aber wo genau soll ich es definieren?
ich habe versucht einen neuen code zu erstellen, mit dem geringsten was nötig ist und $aid habe ich unter $sql = "INSERT definiert"! (siehe bespiel!)
dennoch kommt die folgende fehlermaldung :(

<?php
else:
$dbc = mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());

if (! mysql_select_db("Jokes")) {
echo ("Selection of the data base at present not possible");
exit();
}
if ($submitjoke == "Speichern") {
$sql = "INSERT INTO Jokes SET JokeText='$joketext', AID='$aid', Name='$name', EMail='email'";
if (! mysql_query($sql)) {
echo ("Congratulations! Their Joke was registered in the data base!<br>");
} else {
echo ("Error with add the Joke:<br> " . mysql_error());
}
}

if (isset($deletejoke)) {
$sql = "DELETE FROM Jokes WHERE ID = $deletejoke";
if (! mysql_query($sql)) {
echo ("The Joke was removed from that data base!<br>");
} else {
echo ("Error with delete the Joke:<br> " . mysql_error());
}
}

echo ("Here are all Joke in ours data base!<br><br>");

//$sql = "SELECT ID, JokeText, JokeDate, AID FROM Jokes";
//echo "<pre>".$sql."</pre>"; // nur zum testen eine ausgabe
//$jokelist = mysql_query($sql) or die(mysql_error());

$jokelist = mysql_query("SELECT JokeText, AID FROM Jokes");

while ($joke = mysql_fetch_array($jokelist)) {
$joketext = $joke["JokeText"];
$aid = $joke["AID"];

$authordetails = mysql_query("SELECT Name, EMail FROM Authors WHERE ID=$aid");
$author = mysql_fetch_array($authordetails);
$name = $author["Name"];
$email = $author["EMail"];

echo ("$joketext<br>" . "von <a href='mailto:$email'>$name</a>");
// echo ("<table cellspacing='2' cellpadding='2' border='1' width='100%'><tr><td>$joketext</td><td>$name</td><td>$email</td><td><a href='$PHP_SELF?deletejoke=$jokeid'>" . "Delete joke from Database</a></td></tr></table>");
}
?>

 
Abraxax
12-06-2003, 22:33 
 
du verwendest zweimal WHERE ID=.... und das was dahinter ist, muss definiert sein.

eine möglichkeit... du übergibts den script einen parameter 'aid'

also ....deinscript.php?aid=1 und dann im script $aid = $_GET['aid']irgendwo oben.

oder du definiertst es im script selber. $aid = 4;


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:38 Uhr.