SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden. |
 |
|

02-12-2006, 15:45
|
Maybe
Newbie
|
|
Registriert seit: Feb 2006
Beiträge: 78
|
|
Fehler 2: mysql_fetch_object()
Hallo!
Also kA, ich hab eine sql abfrage geschrieben und da bei der If-Anweisung immer das Falsche erfebnis rauskam hab ich mal alle Werte ausgeben wollen und bemerkt das die Abfrage gar nicht richtig läuf bzw. einfach nichts ausgibt...
PHP-Code:
case "kaufen":
$id = $_GET["id"];
mysql_connect ("localhost","","") or die ("Keine Verbindung zum Server");
mysql_select_db ("") or die ("Keine Tabelle ausgewählt");
$sql="SELECT pferde.*, benutzerdaten.* FROM pferde INNER JOIN benutzerdaten WHERE benutzerdaten.Id = '".$_SESSION['user_id']."' AND pferde.Pferd_id = $id";
$ergebnis = mysql_query($sql)
or die(mysql_error().'<hr />'.'euer SQL'.'<hr />');
echo "<br><br>";
if ($row->Wert >= $row->Konto OR $row->Besitzer != 'Markt')
{
echo "Zu wenig Geld";
echo "Wert ist $row->Wert";
echo "Besitzer ist $row->Besitzer"; // hier wollte ich es testen.
}
else {
echo "Du kannst es kaufen.";
}
break;
Hab ich etwas nicht beachtet?
Geändert von Maybe (03-12-2006 um 10:31 Uhr)
|

02-12-2006, 15:58
|
ghostgambler
Master 
|
|
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
|
|
wo wird denn $row definiert?!
|

02-12-2006, 16:02
|
Maybe
Newbie
|
|
Registriert seit: Feb 2006
Beiträge: 78
|
|
omg... xDD
Danke ^^ kann geschlossen werden ^^
|

03-12-2006, 10:30
|
Maybe
Newbie
|
|
Registriert seit: Feb 2006
Beiträge: 78
|
|
Oder okay - bevor ich ein neues Thema eröffne kann ich hier auch eig. gleich den nächsten Fehler im nächsten Script posten:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/maybepower/hero/neu/job.php on line 30
PHP-Code:
include ("checkuser.php");
mysql_connect ("localhost","","") or die ("Keine Verbindung zum Server");
mysql_select_db ("") or die ("Keine Tabelle ausgewählt");
$id1 = $_GET["id"];
$pferd_id = $_GET["pferd_id"];
$sql = "UPDATE tierarzt
SET Behandlung = 'Ja'
WHERE Ta_id = $id1";
$ergebnis1 = mysql_query($sql)
or die(mysql_error().'<hr />'.'euer SQL'.'<hr />');
$sql = "UPDATE pferde
SET Gesund = '1000'
WHERE Pferd_id = $pferd_id";
$ergebnis2 = mysql_query($sql);
$ergebnis3 = mysql_query("SELECT * FROM benutzerdaten
WHERE Id = '".$_SESSION['user_id']."'") or die(mysql_error()) ;
$row = mysql_fetch_object($ergebnis3);
$kontoneu = $row->Konto + '100';
$sql = "UPDATE benutzerdaten
SET Konto = $kontoneu
WHERE Id = '".$_SESSION['user_id']."'";
$ergebnis4 = mysql_query($sql)
or die(mysql_error().'<hr />'.'euer SQL'.'<hr />');
mysql_close();
mysql_connect ("localhost","","") or die ("Keine Verbindung zum Server");
mysql_select_db ("") or die ("Keine Tabelle ausgewählt");
$ergebnis5 = mysql_query("SELECT * FROM tierarzt
WHERE Ta_id = $id1");
$row = mysql_fetch_object($ergebnis5);
$user = $row->B_id;
echo "$user<br>";
$ergebnis7 = mysql_query("SELECT * FROM benutzerdaten
WHERE $user = Id");
$row2 = mysql_fetch_object($ergebnis7);
$kontoneu2 = $row2->Konto - '100';
$sql = "UPDATE benutzerdaten
SET Konto = $kontoneu2
WHERE Id = $user";
$ergebnis6 = mysql_query($sql)
or die(mysql_error().'<hr />'.'euer SQL'.'<hr />');
echo "Der Auftrag wurde ausgeführt.";
Zeile 30:
PHP-Code:
$ergebnis3 = mysql_query("SELECT *
FROM benutzerdaten
WHERE Id = '".$_SESSION['user_id']."'") or die(mysql_error()) ;
|

03-12-2006, 12:47
|
hhcm
PHP Senior
|
|
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
|
|
PHP-Code:
$sql = "SELECT * FROM benutzerdaten WHERE Id = '".$_SESSION['user_id']."'";
echo $sql;
$ergebnis3 = mysql_query($sql) or die(mysql_error());
Würde dir (denke ich) zeigen das dein Statement so aussieht.
SELECT * FROM benutzerdaten WHERE Id = '';
Und was sagt uns das?
__________________
gruss Chris
Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
|

03-12-2006, 22:17
|
Maybe
Newbie
|
|
Registriert seit: Feb 2006
Beiträge: 78
|
|
Joa +am kopf kratz+ der Fehler is gelöst, der nächste is da =/
Eig. könnte ich mir gleich einen Sammelthread erstelln...
PHP-Code:
<?php
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p><select name="Deckhengst" size="1">
<?
$ergebnis = mysql_query("SELECT * FROM
pferde WHERE
Besitzer = '".$_SESSION['user_id']."' AND Geschlecht = 'Hengst'");
while ($row = mysql_fetch_object($ergebnis))
{
?> <option value="<? $row->Pferd_id ?>"><? $row->Name ?></option>
<? } ?>
<form name="Decktaxe">
<p><input type="Decktaxe" name="Decktaxe"></p>
</form>
<form name="Beschreibung">
<p><textarea name="Beschreibung" rows="3"></textarea></p>
<input type="submit" value="Aendern" name="submit">
</form>
<?
$_POST['Deckhengst'] = $Hengstname; // zeile 42
$_POST['Decktaxe'] = $Decktaxe; // zeile 43
$row->Rasse = $Rasse; // zeile 44
$_POST['Beschreibung'] = $Beschreibung;
$eintrag = mysql_query("INSERT INTO deckhengste
(Deck_id, Hengstname, Decktaxe, Rasse, Beschreibung) VALUES
('', $Hengstname, $Decktaxe, $Rasse, $Beschreibung"); // Zeile 46
?>
Fehlermeldungen:
Notice: Undefined variable: Hengstname in /usr/export/www/vhosts/funnetwork/hosting/maybepower/hero/neu/deckhengst.php on line 42, 43, 44, 46
|

03-12-2006, 22:28
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
|
|
Eine Zuweisung wird immer und in jeder mit bekannten Sprache von rechts nach links wirksam, x = 4 belegt x mit dem Wert 4, foo = bar belegt foo mit dem Wert von bar und nicht etwa umgedreht.
So und nun liest du die fraglichen Zeilen nochmal!
|

03-12-2006, 22:42
|
Maybe
Newbie
|
|
Registriert seit: Feb 2006
Beiträge: 78
|
|
hm... okay danke =D Aber Fehlerlos isses leider noch nicht =(
Hab den teil jetzt so rumgedreht und noch ein If drangehängt:
PHP-Code:
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p><select name="Deckhengst" size="1">
<?
$ergebnis = mysql_query("SELECT * FROM pferde
WHERE Besitzer = '".$_SESSION['user_id']."' AND Geschlecht = 'Hengst'");
while ($row = mysql_fetch_object($ergebnis))
{
?> <option value="<? $row->Pferd_id ?>"><? $row->Name ?></option>
<? } ?>
<form name="Decktaxe">
<p><input type="Decktaxe" name="Decktaxe"></p>
</form>
<form name="Beschreibung">
<p><textarea name="Beschreibung" rows="3"></textarea></p>
<input type="submit" value="Aendern" name="submit">
</form>
<?
if (!empty($_POST["submit"])) {
$Hengstname = $_POST['Deckhengst'];
$Decktaxe = $_POST['Decktaxe'];
$Rasse = $row->Rasse;
$Beschreibung = $_POST['Beschreibung'];
$eintrag = mysql_query("INSERT INTO deckhengste
(Deck_id, Hengstname, Decktaxe, Rasse, Beschreibung) VALUES
('', $Hengstname, $Decktaxe, $Rasse, $Beschreibung");
}
?>
Aber: Das Drop-down menü wird als Leer angezeigt, außerdem speichert es nach dem Absenden nichts in der DB
|

04-12-2006, 18:48
|
Maybe
Newbie
|
|
Registriert seit: Feb 2006
Beiträge: 78
|
|
Also ich bin mir sicher das vor allem das nich geht :
PHP-Code:
{
?> <option value="<? $row->Pferd_id ?>"><? $row->Name ?></option>
<? } ?>
Hat jemand eine idee wie es anders zu schreiben oder eben richtig ist? =/
|

04-12-2006, 19:40
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
|
|
echo? var_dump($row)?
|

04-12-2006, 19:57
|
Maybe
Newbie
|
|
Registriert seit: Feb 2006
Beiträge: 78
|
|
Zitat:
Original geschrieben von onemorenerd
echo? var_dump($row)?
|
Tut mir leid aber davon hab ich jetzt leider nichts verstanden :{
|

04-12-2006, 20:13
|
hhcm
PHP Senior
|
|
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
|
|
wie wäre es mit
<? echo $row->Pferd_id ?>
oder
<?= $row->Pferd_id ?>
????
Im übrigen...
Gewöhn dir lieber mal an
<?php zu schreiben anstatt <?
__________________
gruss Chris
Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
|

04-12-2006, 20:28
|
Maybe
Newbie
|
|
Registriert seit: Feb 2006
Beiträge: 78
|
|
Also
PHP-Code:
?> <option value="<? echo $row->Pferd_id ?>"> <? echo $row->Name ?> </option>
Hat leider nicht im Geringsten verändert...
Joa, ich schreib immer die kurzform +gg+ Ist halt wirklich kürzer +lol+
|

04-12-2006, 21:01
|
hhcm
PHP Senior
|
|
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
|
|
Dann änder mal
PHP-Code:
$ergebnis = mysql_query("SELECT * FROM pferde
WHERE Besitzer = '".$_SESSION['user_id']."' AND Geschlecht = 'Hengst'") or die(mysql_error());
Und falls das keinen Fehler ausschmeisst
PHP-Code:
while ($row = mysql_fetch_object($ergebnis))
{
var_dump($row); // Wie bereits vorgeschlagen
// Restlicher Code
}
__________________
gruss Chris
Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
|

05-12-2006, 15:04
|
Maybe
Newbie
|
|
Registriert seit: Feb 2006
Beiträge: 78
|
|
Also ich hab beschlossen es anders zu lösen ^^
Nur - omg - wieder fehler:
PHP-Code:
<form action="deckhengste2.php" method="post">
<p><input type="text" name="Deckhengst"></p>
<p><input type="text" name="Decktaxe"></p>
<textarea name="Beschreibung" rows="3"></textarea>
<input type="submit" value="Aendern" name="submit">
<br>
2.
PHP-Code:
$ergebnis = mysql_query("SELECT * FROM pferde
WHERE Besitzer = '".$_SESSION['user_nickname']."' AND Geschlecht = 'Hengst'") or die(mysql_error());
$row = mysql_fetch_object($ergebnis);
if (!empty($_POST["submit"])) {
$eintrag = "INSERT INTO deckhengst (Deck_id, Hengstname, Decktaxe, Rasse, Beschreibung)
VALUES ('', '$_POST[Decktaxe]', '$_POST[Decktaxe]', '$row->Rasse', '$_POST[Beschreibung]'";
$eintragen = mysql_query($eintrag);
if (mysql_query($sql)) {
echo "<p><center>Erfolgreich geupdatet</center></p>";
} else {
echo "<p>Dateneingabe nicht erfolgreich!</p><br>
'".$_POST['Beschreibung']."'";
}
mysql_close();
Es kommt immer "Dateneingabe nicht erfolgreich!"
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|