Autor |
Nachricht |
pneumenn
Threadersteller
Dabei seit: 03.03.2009
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 05.03.2009 12:11
Titel PHP - Variablen in SQL Abfragen |
 |
|
Hallo !
Als PHP Anfänger schlage ich mich seit einigen Tagen mit folgenden Problem herum
<?php
.....
$sql = 'SELECT
var1, varb, varc
FROM
tab1
WHERE var1 < "'.$problem.'")';
......
$problem = 'abcde';
while ($row = $sql->fetch_assoc())
....
?>
Mein Problem, die Variable ist in der SQL Abfrage NULL. Nutze ich $_POST(..) Variablen aus Formularen funktioniert es, nutzt mir aber nichts, da die Varible $Problem berechnet wird.
Schreibe ich $problem in eine Tabelle und nutze diese Tabelle in der SQL Abfrage funktioniert es bedingt. Bei großen Datenmengen dauert die Berechnung zu lange.
Kann mir da jemand einen Tipp zum finden der Lösung geben?
|
|
|
|
 |
DerM
Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Do 05.03.2009 12:17
Titel
|
 |
|
$problem = $_POST['problem'];
Gruß
|
|
|
|
 |
Anzeige
|
|
 |
pneumenn
Threadersteller
Dabei seit: 03.03.2009
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 05.03.2009 12:42
Titel
|
 |
|
Das ist leider keine Lösung für das Problem.
|
|
|
|
 |
remote
Dabei seit: 10.11.2006
Ort: /var/www/
Alter: 109
Geschlecht:
|
Verfasst Do 05.03.2009 13:12
Titel
|
 |
|
Lass Dir mal deine query komplett ausgeben (echo $sql). Dann wirst Du den Fehler vermutlich schnell sehen
P.S:
Eines solltest Du dir gar nicht angewöhnen:
$sql = "select...";
in $sql speicherst du das query, sql datensätze sind da keine drin. Üblicher ist:
$query = "SELECT bla";
$sql = mysql_query($query);
|
|
|
|
 |
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 05.03.2009 13:23
Titel
|
 |
|
Doku-Vorleseservice: http://www.usegroup.de/software/phptutorial/arbeiten_mit_strings.html
Zitat: | Strings werden in PHP mit "." aneinandergereiht. Soll der i-te Besucher etwa kein Abstand nach seiner Nummer sehen ist man zu einem Trick gezwungen: da echo "Sie sind der $ite Besucher" nach einer -nicht vorhandenen - Variable namens ite suchen würde verwendet man entweder
echo "Sie sind der ";
echo $i;
echo "te Besucher";
oder das kürzere
echo "Sie sind der ".$i."te Besucher";
Wird an das Ende des Strings "Sie sind der " der String (die Variable $i wird hier als String aufgefasst) $i (Wert z.B. 5) angehängt, an die direkt der String "te Besucher". angehängt wird. |
Zuletzt bearbeitet von bacon am Do 05.03.2009 13:23, insgesamt 1-mal bearbeitet
|
|
|
|
 |
pneumenn
Threadersteller
Dabei seit: 03.03.2009
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 05.03.2009 14:06
Titel
|
 |
|
die Variable $problem hat in der SQL Abfrage den Wert NULL. Was muss ich ändern damit ich den richtigen Wert für meine Variable behalte?
|
|
|
|
 |
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 05.03.2009 14:19
Titel
|
 |
|
Meine Güte. Ließ' bitte die Doku, bevor du hier Threads mit 10000 Anfängerproblemen aufmachst, die dir eh keiner erläutern kann, wenn du nicht ein bisschen Hintergrundwissen mitbringst
1.) String-Values werden in mysql ausschließlich per Single-Quote (') maskiert:
WHERE attribut = 'string'
2.) PHP kennt einen Unterschied zwischen Single- und Doublequotes! Lerne PHP-Strings und String-Konkatenation
3.) Wenn deine Variable den Wert NULL hat, kann das diverse Ursachen haben. Wahrscheinlich aber liegt es einfach daran, dass du falsche Quotes benutzt. Lerne, deine Scripte zu debuggen. http://www.usegroup.de/software/phptutorial/debugging.html
4.) Validiere deine Eingaben, sonst stellt dein Script ein riesiges Sicherheitsproblem dar.
5.) Nutze NICHT < oder > auf Strings, diese Operatoren sind ausschließlich für Zahlenoperationen gedacht, alles andere frisst Performance.
6.) Formatiere und Kommentiere deinen Quelltext!
|
|
|
|
 |
pneumenn
Threadersteller
Dabei seit: 03.03.2009
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 05.03.2009 14:34
Titel
|
 |
|
1.) String-Values werden in mysql ausschließlich per Single-Quote (') maskiert:
WHERE attribut = 'string' ist leider nicht der Fehler
Ich gehe davon aus das meine Variabel$problem falsch deklariert ist. Für diese Deklaration suche ich einen Hinweis.
|
|
|
|
 |
|
|
 |
Ähnliche Themen |
checkox abfragen ...
[PHP] Wie URL in If-Schleife abfragen?
Index.php abfragen
SQL Abfragen mit Java
FTP Status mit PHP abfragen
{javascript} Hauptspeicher abfragen
|
 |