php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.09.2005, 22:33  
Gast
 
Beiträge: n/a
Standard WHERE Falsche Abfrage? Kein MySQL Fehler

$query = "SELECT * FROM `daten` WHERE anbieteron=1 AND category LIKE '$category' AND Mitglieder >= $Mitglieder AND besteht <= $besteht ORDER BY `pnummer` DESC";

Die Variablen werden mit Hilfe eines Formulars gef�llt jedoch werden nicht alle WHERE Angaben beachtet, was mache ich falsch?
2te Frage: Wie kann ich mehrere Kategorien auslesen?

Danke f�r all eure Antworten
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.09.2005, 22:46  
Benutzer
 
Registriert seit: 25.09.2005
Beiträge: 41
reimondo
Standard

Deine Query besteht aus einer Zeichenkette. In deiner Zeichenkette

"SELECT * FROM `daten` WHERE anbieteron=1 AND category LIKE '$category' AND Mitglieder >= $Mitglieder AND besteht <= $besteht ORDER BY `pnummer` DESC";

sucht die Abfrage tatsächlich in der Tabelle daten in der Spalte category nach
'$category'. Du musst die Zeichenkette folgendermaßen zusammensetzen:


"SELECT * FROM `daten` WHERE anbieteron=1 AND category LIKE '" . $category . "' AND Mitglieder >= " . $Mitglieder . " AND besteht <= " . $besteht . " ORDER BY `pnummer` DESC";

Achte bei Feldern in der Tabelle die vom Typ keine Zahlenwert sind darauf, dass du bei der Abfrage die einzelnen Hochkommata verwendest ' '.

Mehrere Kategorien müsstest du über eine OR-Verknüpfung verbinden.
GRuß
reimondo
reimondo ist offline  
Alt 26.09.2005, 20:47  
Gast
 
Beiträge: n/a
Standard

<?php
srand ((double)microtime()*1000000);
$zufallb= rand(1,91);
$zufallszahl= rand(1,15);
$zufallszahl2= rand(16,31);
$zufallszahl3= rand(32,47);
$zufallszahl4= rand(48,63);
$zufallszahl5= rand(64,79);
$zufallszahl6= rand(80,91);
?>
<?php

include("inc_header.php");

$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE pid=$zufallb AND banneron=1", $db_handle);
$p1 = mysql_fetch_array($query_handle_news);
$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE pid=$zufallszahl2 AND partnerlinkon=1", $db_handle);
$p2 = mysql_fetch_array($query_handle_news);
$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE pid=$zufallszahl3 AND partnerlinkon=1", $db_handle);
$p3 = mysql_fetch_array($query_handle_news);
$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE pid=$zufallszahl4 AND partnerlinkon=1", $db_handle);
$p4 = mysql_fetch_array($query_handle_news);
$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE pid=$zufallszahl5 AND partnerlinkon=1", $db_handle);
$p5 = mysql_fetch_array($query_handle_news);
$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE pid=$zufallszahl6 AND partnerlinkon=1", $db_handle);
$p6 = mysql_fetch_array($query_handle_news);
?>

Wo liegt der Fehler es wird partnerlinkon=1 Abfrage und banneron=1 anscheinend nicht beachtet der Rest funktioniert, wie kombiniert man mehrere WHERE Angaben Syntax Gerecht?

DANKE
 
Alt 26.09.2005, 23:00  
Gast
 
Beiträge: n/a
Standard

Wie äußert sich der Fehler genau?
Gibt es zu jeder pid garantiert einen Datensatz mit partnerlinkon=1 ?
Spielt die Aufteilung in $p1 bis $p5 wirklich eine Rolle oder können die Abfragen auch zusammengefasst werden?
 
Alt 29.09.2005, 21:37  
Gast
 
Beiträge: n/a
Standard

Die Aufteilung könnte auch Zusammengefasst werden, es darf nur keine Zahl doppelt vorkommen und die Abfrage soll nur Datensätze auslesen die Partnerlinkon=1 sind.

Danke für jede Hilfe
 
Alt 29.09.2005, 21:49  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

PHP-Code:
<?php
$handle 
mysql_query("...") or die(mysql_error());
?>
Häng mysql_error() an und schau ob es dann fehler gibt..
Chr!s ist offline  
Alt 29.09.2005, 22:02  
Gast
 
Beiträge: n/a
Standard

Es werden keine Fehler angezeigt, jedoch wird die erwünschte WHERE Abfrage noch immer nicht beachtet! Was kann ich nur tun?
 
Alt 29.09.2005, 22:15  
Gast
 
Beiträge: n/a
Standard

Ich habe die Abfrage geändert jetzt erscheint ein MySQL Fehler

Parse error: parse error, unexpected T_LNUMBER in
/www/htdocs/x/x/zufall.php on line 14

<?php
srand ((double)microtime()*1000000);
$zufallb= rand(1,91);
$zufallszahl= rand(1,15);
$zufallszahl2= rand(16,31);
$zufallszahl3= rand(32,47);
$zufallszahl4= rand(48,63);
$zufallszahl5= rand(64,79);
$zufallszahl6= rand(80,91);
?>
<?php
include("inc_header.php");
$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE banneron = "1" AND pid="$zufallb", $db_handle);
$p1 = mysql_fetch_array($query_handle_news);
$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE partnerlinkon = "1" AND pid="$zufallszahl2", $db_handle);
$p2 = mysql_fetch_array($query_handle_news);
$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE partnerlinkon = "1" AND pid="$zufallszahl3", $db_handle);
$p3 = mysql_fetch_array($query_handle_news);
$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE partnerlinkon = "1" AND pid="$zufallszahl4", $db_handle);
$p4 = mysql_fetch_array($query_handle_news);
$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE partnerlinkon = "1" AND pid="$zufallszahl5", $db_handle);
$p5 = mysql_fetch_array($query_handle_news);
$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE partnerlinkon = "1" AND pid="$zufallszahl6", $db_handle);
$p6 = mysql_fetch_array($query_handle_news);
mysql_error()
?>
Dicke Zeile ist Nummer 14
 
Alt 29.09.2005, 22:28  
Gast
 
Beiträge: n/a
Standard

Beachte: Innerhalb der "SELECT... -Anweisung"
sind keine "Anführungzzeichen" sondern 'Hochkommas' zu setzen!

zB so:
Code:
$query_handle_news = mysql_query
("SELECT * from Anbieter WHERE banneron = '1' AND pid='$zufallb', $db_handle) OR DIE(mysql_error());
~dilemma~
 
Alt 30.09.2005, 06:20  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Ein kleiner Tipp um mit deinen Querys zurechtzukommen: Schreib es mal so:
PHP-Code:
<?php
$query 
mysql_query("SELECT
                                              spalte1, spalte2
                                   FROM
                                              Anbieter
                                   WHERE
                                              banneron = '1' AND
                                              pid = '$zufallb'
                                    "
$dbhandle); or die( mysql_error() );
?>
@Dilemma
Zitat:
("SELECT * from Anbieter WHERE banneron = '1' AND pid='$zufallb'", $db_handle) OR DIE(mysql_error());
Du hast die " vergessen

16.14. Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html

Falls was nicht mit der WHERE Bedingung stimmt, dann lass dir doch einfach einmal deine relevanten Variablen per echo ausgeben und schau, ob in denen auch drinsteht was du möchtest.
Chr!s ist offline  
 


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
bitte hilfe! mysql fehler meldung: basicx PHP Tipps 2008 2 22.07.2008 16:36
erweiterte abfrage - where DarkManX Datenbanken 2 02.02.2007 17:14
MySQL Abfrage macht Seite langsam Datenbanken 11 19.10.2006 19:38
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
Fehler beim Wechsel von MySQL 4 nach 5 JK Datenbanken 2 09.12.2005 18:43
mysql abfrage - finde fehler nicht PHP Tipps 2005-2 10 08.10.2005 14:14
php Variablen in MySQL Abfrage verwenden (WHERE Bedingung) PHP Tipps 2005 20 20.04.2005 20:05
[Erledigt] Schon wieder Fehler in einer kleinen Abfrage Datenbanken 10 03.02.2005 18:37
Fehler bei der MySQL Abfrage PHP Tipps 2005 4 19.01.2005 18:32
Fehler in der MySQL Abfrage Datenbanken 11 19.01.2005 14:38
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
MySQL Syntax Fehler PHP Tipps 2004 3 27.06.2004 13:01
komplizierte mySQL Abfrage Datenbanken 6 25.06.2004 15:34
Paradox, Fehler bei Berechnung in MySQL MrNiceGuy Datenbanken 0 23.06.2004 16:09
[Erledigt] mysql Abfrage Datenbanken 5 18.06.2004 14:16

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql das ist keine zahl, nach like abfrage andere datensätze auslesen, mysql fehlermeldung das ist keine zahl, mysql keine zahl, mysql kein fehler, query fehler: keine zahl, mysql abfrage keine zahl, like keine zahl, mysql \'das ist keine zahl\', mysql query zahl \where\ like fehler, mysql zahlenwert in php abfragen, php zweite mysql abfrage keine anzeige, mysql fehler das ist keine zahl, mysql falsche abfrage, falsches pid, fehlermeldung mysql das ist keine zahl

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:40 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.