php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.12.2004, 20:39  
Gast
 
Beiträge: n/a
Standard Problem: MySQL Query funktioniert nicht. Wieso?

Hallo,

also bei diesem Code hier funktioniert folgendes nicht:
Er soll "total_posts" [INT(11)] auf die Zahl setzten die wäre wenn die posts weg sind... die ausgabe mit echo "$total_p"; funktioniert so wie es soll!
nur bei dem SQL Statemant nicht...

Hier der code:
PHP-Code:
<?php
   $abfrag   
"SELECT * FROM chat_forum_threads WHERE `id` = ".$postid."";
   
$ergebnis mysql_query($abfrag);
   
$threads  mysql_fetch_object($ergebnis);
   
$postsall $threads->answers;
   
   
$sql2     "SELECT * FROM chat_forum WHERE `forumid` = '".$formid."'";
   
$result2  mysql_query($sql2) OR die(mysql_error());
   
$forum    mysql_fetch_object($result2);
   
$total_p  $forum->total_posts $postsall;
   
$total_t  $forum->total_threads 1;

  
$eintrag "UPDATE `chat_forum` SET
                     `total_posts` = "
.$total_p.",
                     `total_threads` = "
.$total_t."
             WHERE `forumid` = "
.$formid."";
  
$eintragen mysql_query($eintrag) OR die(mysql_error());
?>
Ich weiß es geht sauberer! Sry!

Also es kommt keine fehlermeldung NIX! und wenn ich das statemant auf phpMyAdmin ausführe funktioniert es... woran liegt es?

FROHE WEIHNACHTEN UND EIN FROHES NEUES JAHR WÜNSCHT
Dennis *g*
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.12.2004, 22:52  
Gast
 
Beiträge: n/a
Standard

$abfrag = "SELECT * FROM chat_forum_threads WHERE `id` = '$postid' ";

$sql2 = "SELECT * FROM chat_forum WHERE `forumid` = '$formid' ";

versuchs mal so, mann kann sich nicht immer auf phpmyadmin verlassen
 
Alt 24.12.2004, 09:39  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ich würde die Abfragen auch eher wie Geigel formulieren, allerdings nie mit SELECT * FROM, wenn du nur ein oder zwei Attribute haben willst. (vgl. http://www.php-faq.de/q/q-sql-select.html). Und Anführungszeichen um nummerische Werte sind ebenso überflüssig, wie die Backticks. Versuch einfach mal die evaluierten Abfragen auszugeben, dann siehst du auch genau, was abläuft:
Code:
   $abfrag   = "SELECT answers  
                FROM chat_forum_threads 
                WHERE id = $postid";
   echo "$abfrag
";                                    // zum Testen
   $ergebnis = mysql_query($abfrag) or die(mysql_error());
   $threads  = mysql_fetch_object($ergebnis);
   $postsall = $threads->answers;
   
   $sql2  = "SELECT total_posts, total_threads 
             FROM chat_forum 
             WHERE forumid = $formid";
   echo "$sql2
";                                              // zum Testen
   $result2  = mysql_query($sql2) OR die(mysql_error());
   $forum    = mysql_fetch_object($result2);
   $total_p  = $forum->total_posts - $postsall;
   $total_t  = $forum->total_threads - 1;

  $eintrag = "UPDATE chat_forum 
              SET
                 total_posts = $total_p,
                 total_threads = $total_t"
              WHERE forumid = $formid";
   echo "$eintrag
";                                        // zum Testen
  $eintragen = mysql_query($eintrag) OR die(mysql_error());
Es könnte z.B. sein, dass die Variable in der zweiten und dritten Abfrage nicht $formid, sondern $forumid heisst? Die zweite Abfrage ist - falls du die Daten nicht andernorts verwendest - überflüssig, und lässt sich direkt in die dritte integrieren:
Code:
$eintrag = "UPDATE chat_forum 
              SET
                 total_posts = total_posts - $postsall,
                 total_threads = total_threads - 1"
              WHERE forumid = $formid";
__________________
Gruss
L
lazydog ist offline  
Alt 24.12.2004, 13:58  
Gast
 
Beiträge: n/a
Standard

also dann kommt:

SELECT answers FROM chat_forum_threads WHERE id = 12
SELECT total_posts, total_threads FROM chat_forum WHERE forumid = 1
UPDATE chat_forum SET total_posts = 1, total_threads = -1 WHERE forumid = 1

das ist aufeinmal nicht mehr richtig... total_posts muss 0 sein genauso wie total_threads...
das was er macht ist, nur ein thread abziehen und die posts stehen lassen.
nein die variable heißt $formid

hier mal die ganze datei sorry aber irgendwie bin ich zu dumm den fehler zu finden

PHP-Code:
<?php
ob_start
();
session_start ();

if (!isset (
$_SESSION["user_id"]))
{
 
header("Location: index.php?site=login&fehler=1");
}else{

include(
"data/connect.php");
include(
"data/header-conf.php");
include(
"data/user-conf.php");

 echo 
"</head>
<body>\n"
;

if(
$level == 'Admin' OR $level == 'Webmaster'){

$sql "DELETE FROM
                chat_forum_threads
       WHERE
               `id` = '"
.$postid."'";
mysql_query($sql) OR die(mysql_error());

$abfrag    "SELECT * FROM chat_forum_posts WHERE `ans_of` = ".$postid."";
$ergebnis  mysql_query($abfrag);
while(
$row mysql_fetch_object($ergebnis))
 {
  
$sql "DELETE FROM
                  chat_forum_posts
         WHERE
                 `ans_of` = '"
.$postid."'";
  
mysql_query($sql) OR die(mysql_error());
 }

/*
CHAT_FORUM POSTS UND THREAD ABZIEHEN
*/
   
$abfrag   "SELECT * FROM chat_forum_threads WHERE `id` = ".$postid."";
   
$ergebnis mysql_query($abfrag);
   
$threads  mysql_fetch_object($ergebnis);
   
$postsall $threads->answers;
   
   
$sql2     "SELECT * FROM chat_forum WHERE `forumid` = '".$formid."'";
   
$result2  mysql_query($sql2) OR die(mysql_error());
   
$forum    mysql_fetch_object($result2);
   
$total_p  $forum->total_posts $postsall;
   
$total_t  $forum->total_threads 1;

  
$eintrag "UPDATE `chat_forum` SET
                     `total_posts` = "
.$total_p.",
                     `total_threads` = "
.$total_t."
             WHERE `forumid` = "
.$formid."";
  
$eintragen mysql_query($eintrag) OR die(mysql_error());
  
  
   
$abfrag   "SELECT answers
                FROM chat_forum_threads
                WHERE id = $postid"
;
   echo 
"$abfrag
"
;                                    // zum Testen
   
$ergebnis mysql_query($abfrag) or die(mysql_error());
   
$threads  mysql_fetch_object($ergebnis);
   
$postsall $threads->answers;

   
$sql2  "SELECT total_posts, total_threads
             FROM chat_forum
             WHERE forumid = $formid"
;
   echo 
"$sql2
"
;                                              // zum Testen
   
$result2  mysql_query($sql2) OR die(mysql_error());
   
$forum    mysql_fetch_object($result2);
   
$total_p  $forum->total_posts $postsall;
   
$total_t  $forum->total_threads 1;

  
$eintrag "UPDATE chat_forum
              SET
                 total_posts = $total_p,
                 total_threads = $total_t
              WHERE forumid = $formid"
;
   echo 
"$eintrag
"
;                                        // zum Testen
  
$eintragen mysql_query($eintrag) OR die(mysql_error());

 }
}
?>
mit dem SELECT * FROM, sry bin halt immer noch ein newbie

danke für eure hilfe.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL Problem fkrauthan PHP-Fortgeschrittene 5 25.01.2008 18:18
mysql problem mit LIKE und AND kazuya Datenbanken 10 29.10.2007 21:36
MYSQL Query Variablen Übergabe Jay0815 PHP Tipps 2008 3 03.10.2007 19:48
NS Query Problem GSJLink Datenbanken 0 07.09.2007 18:04
Lost connection to MySQL server during query in ... ? Alpha Centauri Datenbanken 0 24.10.2005 11:09
[Erledigt] Mysql Problem Datenbanken 4 21.10.2005 17:36
MySQL Problem b++ PHP Tipps 2005-2 3 20.09.2005 17:53
MySQL &amp;amp; PHP: Problem mit Password() Datenbanken 10 19.09.2005 11:00
verschiedene Query Ergebnisse in MySQL 4.0.x und 4.1.x Datenbanken 3 18.09.2005 15:57
MySQL, PHP und ein großes Problem! Datenbanken 2 27.08.2005 10:51
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
[Erledigt] Problem MySQL 3 und 4 PHP-Fortgeschrittene 9 02.08.2005 16:45
[Erledigt] mysql installations problem Datenbanken 4 16.02.2005 18:46
mit mysql und php eine datenbank erstellen? Großes Problem PHP Tipps 2004-2 1 16.12.2004 14:53
[Erledigt] Problem mit PHP und MYSQL Datenbanken 6 01.08.2004 05:59

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php mysql query select, mysql variablen subtrahieren php, mysql führt query nicht aus, php mysql query funktioniert nicht, php mysql abfrgae mit variable funktioniert nicht, fetch_object nur einmal, php query klappt nur einmal, sql fetch_object funktioniert nicht, php mysql query, mysql_fetch_object nur einmal, mysql_fetch_object wie funktioniert das, mysql query zeigt nichts an, mysql query funktioniert nicht, mysql_fetch_object ->, mysql_fetch_object geht nicht, php nur mysql query geht nur einmal, mysql query immer nur ein eintrag, php mysql_fetch_object funktioniert nicht, php führt mysql query nicht aus, mysql_fetch_objekt funktioniert nicht

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.