meinst du vielleicht pg_execute?
http://de3.php.net/manual/de/function.pg-execute.php
cu tb.
$sql = “SELECT ov_unt_bez, ov_unt_unt_nr From prod.t_ov_unternehmen Where ov_unt_bez = ‘$test’ order by ov_unt_bez”;
ich denke mal du meinst pg_query(), zumindest stimmt dann die parameter anzahl.
Crypi
hab ich probiert, fkt. auch nicht!
pg_query auch probiert, auch nicht. bekomme immer wieder die fehlermeldung.
naja würde ja scho helfen wenn du die meldung mal postest
cu tb.
spalte = ’ … ’
ich würd die tüdelchen mal probieren.
und die fehlermeldung posten…
Crypi
[quote=“Xandrian”]naja würde ja scho helfen wenn du die meldung mal postest ]
ist ja in dem sinne keine fehlermeldung, sondern die meldung aus dem script,
$res = @pg_exec($conn, $sql) or die (“Konnte die Anfrage nicht ausführen”);
für mich heißt das es kann keine abfrage mit dem wert der variablen durchgeführt werden. ich habe aber einen wert genommen, der 100%ig in der tabelle vorhanden ist. außerdem funktioniert das auslesen der tabelle, wenn ich mit: “select * from prod.t_ov_unternehmen”; auslese.
krieg ich nicht auf die reihe.
Schalte im PHP den Debug-Mode an bzw den Schalter, das Errors ausgegeben werden und entferne das “die”. Dann bekommst du eine anständige Fehlermeldung. Das was du generierst ist zwar schon, gibt dir aber genau keinen Hinweis auf die Fehlerquelle.
für mich heißt das es kann keine abfrage mit dem wert der variablen durchgeführt werden. ich habe aber einen wert genommen, der 100%ig in der tabelle vorhanden ist. außerdem funktioniert das auslesen der tabelle, wenn ich mit: “select * from prod.t_ov_unternehmen”]
Für dich heisst das, das der Befehl nicht ausgeführt werden konnte. Warum, wissen im Moment nur die Götter. Den reinen SQL-String prüfst du nicht durch select * , das ist pöhze. Den gibst du genau so, wie er funktionieren soll, auf der DB-Konsole ein und optimierst, bis er das tut, was er soll.
Hinweise zur Fehlerquelle siehst du ausserdem im Postgres-Log, wenn du die PHP-Seite aufrufst. Da steht bei folgender Konfiguration auch der SQL-String drin, so das du sehen kannst, ob PHP den String korrekt zusammensetzt.
postgresql.conf
log_statement = true
[/b]
und nimm das verdammte @ vor exec weg, was auch immer exec ist, das unterdrückt die fehlerausgabe!!!
Crypi
und nimm das verdammte @ vor exec weg, was auch immer exec ist, das unterdrückt die fehlerausgabe!!!
Crypi
habe ich gemacht, das script sieht jetzt so aus:
// Die Tabelle … auslesen
$test = $_POST[‘Name’]]).’
">‘.$zeile[“ov_unt_bez”].’‘.$zeile[“ov_unt_kurz”].’‘.$zeile[“ov_unt_unt_nr”].’‘.$zeile[“ov_unt_system”].’‘.$zeile[“ov_unt_bugrp”].’‘.$zeile[“ov_unt_hinweis”].’‘.$zeile[“ov_unt_aktiv”].’';
}
echo ‘’;
echo unten();
?>
und folgende fehlermeldung:
Warning: pg_exec(): Query failed: ERROR: column “izb” does not exist . in /usr/local/apache2/htdocs/roadrunner/ausgabe.php on line 40
Konnte die Anfrage nicht ausführen
naja dann schau dir halt mal die ausgabe.php an… steht ja dort was im nicht gefällt…
cu tb.
war deine eingabe izb?
er sagt das es die spalte nicht gibt, da du die aber gar nicht mit selectest…
nimm mal die where-bedingung raus und probiers ohne.
und probier wirklich mal
$result=pg_query(...);
while($row=pg_fetch_array($result))
{
echo $row[...];
}
machts übersichtlicher
Crypi
naja dann schau dir halt mal die ausgabe.php an… steht ja dort was im nicht gefällt…
cu tb.
problem geklärt, die zeile muß so aussehen:
sql = “SELECT ov_unt_bez, ov_unt_unt_nr From prod.t_ov_unternehmen Where ov_unt_bez = (‘$test’)”;
und schon klappt´s mit dem nachbarn. es funktioniert, ich bin glücklich. vielen dank für die ratschläge.
andré s.
das wundert mich doch sehr.
naja wenns so funktioniert.
Crypi
das wundert mich doch sehr.
naja wenns so funktioniert.
Crypi
kann ja auch nichts dafür, er liest die tabelle so aus wie ich es vorgegeben habe. :roll:
andré s.
hallo,
nachdem ich das eine problem gelöst habe stellt sich natürlich das nächste. wie bekomme ich es hin zwei verschiedene Felder zu unterschiedlichen zeiten abzufragen. irgendwie muß das doch durch eine und/ oder beziehung laufen. hat jemand eine idee?
andré s.
<?php /* ausgabe.php */ include("road_verb.php"); ?>
[img]bilder/roadrunner.bmp[/img] |
**roadrunners ergebnis: ** |
// falls ein Fehler aufgetreten ist, soll eine Meldung
// in einer Tabellenzeile ausgegeben werden
if ($msg) {
echo ‘<td bgcolor="#FFCC33>Fehler: ‘.$msg.’’;
}
else {
}
?>
Firma |
OE |
OE-Bezeichnung |
Name |
Vorname |
Vorwahl |
Tel-Nr. |
Bereitschaftsnr. |
Servicezeit |
Sonstiges |
<?php
// Die Tabelle ...... auslesen
$NAME = $_GET['Name'];
$OE = $_GET['OE'];
$TelNr = $_GET['TelNr'];
$Stichwort = $_GET['Stichwort'];
---|---|---|---|---|---|---|---|---|---|
’.($zeile[“ov_unt_kurz”]).’ | '.$zeile["ov_oe_nr"].' | '.$zeile["ov_oe_bez"].' | '.$zeile["pe_pe_nachname"].' | '.$zeile["pe_pe_vorname"].' | '.$zeile["ov_oeikomwe_vorwahl"].' | '.$zeile["ov_oeikomwe_ruf"].' | '.$zeile["ov_oeikomwe_servicezeit"].' | '.$zeile["ov_oeikomwe_hinweis"].' | '.$zeile["ov_oeikomwe_privat"].' |
wie bekomme ich es hin zwei verschiedene Felder zu unterschiedlichen zeiten abzufragen. irgendwie muß das doch durch eine und/ oder beziehung laufen. hat jemand eine idee?
wie meinst du das mit “zu unterschiedlichen zeiten abfragen”? gib mal ein beispiel bitte.
gibts in dem code den du gepostet hast relevante stellen?
Crypi
ok, ich versuche es noch mal anders zu erklären.
ich habe ein formular mit vier feldern (name, oe, tel-nr. und stichwort). daraus enstehen vier variablen die mit get übergeben werden.
die auwertung soll in dem script erfolgen, welches ich in meinem letzten posting gepostet habe.
jetzt mein problem; die auswertung.
wie kann ich das formular auswerten, wenn z.b. in feld “oe” und “name” ein wert steht, oder in allen vier feldern werte stehen. zusammengefasst, egal in welchem feld etwas steht oder nicht, soll erkannt werden und dementsprechend ausgegben werden.
vergiss den satz “zu unterschiedlichen zeiten”, war schwachsinn. ich hoffe, ich habe mich jetzt verständlich ausgedrückt. vielen dank im voraus!
andré s.
sry ich versteh deinproblem noch immer net. vielleicht solltest du dir die php funktion empty und isset mal anschauen. die auswertung musst du trotzdem selber programmieren und ggf was anzeigen lassen. von selbst macht dir das system nichts
cu tb.
meinst du sowas:
SELECT * from tabelle
where
name ~~* '%$_GET[name]%'
OR
oe ~~* '%$_GET[oe]%'
OR
tel_nr ~~*'$_GET[tel_nr]%'
OR
stichwort ~~* $_GET[stichwort]%'
das sucht jetzt nach allem in der datenbank, das überstimmungen mit mindestens einem deiner formular-felder hat.
oder meintst du das dere inhalt aller vier frmular-felder in allen vier feldern der DB sucht?
also sowas :
SELECT * from
tabelle
WHERE
name ~~* '%$_GET[name]%$_GET[oe]%...%'
OR
oe ~~* '%$_GET[name]%$_GET[oe]%...%'
OR
...
Crypi