SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 19.04.2004, 21:51:17
Benutzerbild von NanoCyte
NanoCyte NanoCyte ist offline
Junior Member
 
Registriert seit: Nov 2003
Beiträge: 207
NanoCyte eine Nachricht über ICQ schicken
Berechnungen

also, ich hab einen 3-dimensionalen raum mit den achsen x,y,z

an verschiedenen gitterpunkten befinden sich planeten.

jetzt hab ich eine abfrage erstellt, die mir die planeten in maximal 10 einheiten entfernt anzeigt.

im myadmin funktioniert alles perfekt, nur ich das ganze in php eingeb führt er das query aus irgend einem grund nicht aus.

die formel ist ganz einfach um strecke im 3-d-raum auszumessen:
strecke = WURZEL ( (x1-x2)² + (y1-y2)² + (z1-z2)² )

x1,y1,z1 sind anfangskoordinaten
x2,y2,z2 sind die zielkoordinaten.

das ganze sieht so aus:
PHP-Code:
SELECT `planiid`,`x`,`y`,`z`,`uid`,`nameFROM `planis`
   
WHERE
   SQRT 
(
   
POW100 x,2)
   +
   
POW100 y,2)
   +
   
POW200 z,2)
   ) <= 
10 
hat einer ne idee, warum php genau dabei nix ausgibt (das query net ausführt)?
Mit Zitat antworten
  #2  
Alt 20.04.2004, 07:57:09
Dago Dago ist offline
Member
 
Registriert seit: Mar 2002
Beiträge: 548
Hm, seltsam...
Gibt mysql_error() nach dem Query irgendwelche Fehlermeldungen aus?
Mit Zitat antworten
  #3  
Alt 20.04.2004, 08:35:14
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Re: Berechnungen

Zitat:
Original geschrieben von NanoCyte
...
hat einer ne idee, warum php genau dabei nix ausgibt (das query net ausführt)?
Ich würde es mal so probieren:
PHP-Code:
$sql "SELECT `planiid`,`x`,`y`,`z`,`uid`,`name` FROM `planis`
   WHERE
   SQRT (
   POW( (100 - x), 2)
   +
   POW( (100 - y), 2)
   +
   POW( (200 - z), 2)
   ) <= 10" 

Mit Zitat antworten
  #4  
Alt 20.04.2004, 16:44:16
Benutzerbild von NanoCyte
NanoCyte NanoCyte ist offline
Junior Member
 
Registriert seit: Nov 2003
Beiträge: 207
NanoCyte eine Nachricht über ICQ schicken
@meikel: selber fehler.


aber error hat folgendes ausgegeben:

Zitat:
Fehler in der Syntax bei '( POW( (100 - x),2) ' in Zeile 4.
hatte aber nicht mysql_error vorher man probiert, zumal im myadmin kein fehler kam
Mit Zitat antworten
  #5  
Alt 20.04.2004, 17:12:53
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Zitat:
Original geschrieben von NanoCyte
aber error hat folgendes ausgegeben: [...]
Da ich zu faul bin, die Tabelle nachzubauen um den SQL String zu testen:
1. ich würde den "Wurzel-Ausdruck" ebenfalls noch "klammern".
2. MySQL reagiert bisweilen allergisch auf fehlende Leerzeichen; MySQL betrachtet ein ENTER nicht als Leerzeichen.

Weil ich mit "schön aussehenden" SQL Strings schon reichlichen Ärger hatte, empfehle ich Dir, alle Zeilenumbrüche zu entfernen und zwischen ( bzw. ) und Werten bzw. Bezeichnern immer ein Leerzeichen einzufügen.

btw: PhpMyAdmin verwendet einen SQL Parser, bevor er den Kram an MySQL schickt. Erkennbar am veränderten SQL String, wenn's keine groben Schnitzer gab.
Mit Zitat antworten
  #6  
Alt 20.04.2004, 17:51:21
Benutzerbild von NanoCyte
NanoCyte NanoCyte ist offline
Junior Member
 
Registriert seit: Nov 2003
Beiträge: 207
NanoCyte eine Nachricht über ICQ schicken
jup, habs gerade eben auch so getestet und es geht...
PHP-Code:
SELECT `planiid`,`x`,`y`,`z`,`uid`,`nameFROM `planisWHERE SQRT(POW((100-x),2)+POW((100-y),2)+POW((200-z),2)) <= 10 
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


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


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt