AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein WHERE-Teil einer SQL-Abfrage in php führt zu 'Parse Error'
Thema durchsuchen
Ansicht
Themen-Optionen

WHERE-Teil einer SQL-Abfrage in php führt zu 'Parse Error'

Ein Thema von Matze · begonnen am 8. Mär 2006 · letzter Beitrag vom 8. Mär 2006
Antwort Antwort
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

WHERE-Teil einer SQL-Abfrage in php führt zu 'Parse Error'

  Alt 8. Mär 2006, 08:03
Hallo,

irgendwie stehe ich gerade auf dem Schlauch. Ich erhalte diese Meldung

Zitat:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in [...]
bei dieser SQL Abfrage

Code:
[color=#FF9000]// list categories and products[/color]
[color=#141784][b]foreach[/b][/color] ([color=#1BA51E]$prod_cats[/color] as [color=#1BA51E]$prod_cat[/color])
{
  [color=#1BA51E]$arr_products[/color] = get_sql_array([color=#DA1F1F]"SELECT id, prod_article_no, prod_title,
    prod_price FROM "[/color] . PRODUCTS . [color=#DA1F1F]" WHERE prod_cat_id = [/color][color=#1BA51E]$prod_cat['id'][/color][color=#DA1F1F]"[/color]);
Das Array $prod_cats sieht so aus:

Code:
[color=#1BA51E]$prod_cats[/color] = get_sql_array([color=#DA1F1F]"SELECT * FROM "[/color] . PRODUCT_CATEGORIES);
Setze ich hier

Code:
[color=#DA1F1F]" WHERE prod_cat_id = [/color][color=#1BA51E]$prod_cat['id'][/color][color=#DA1F1F]"[/color]);
jedoch einen festen Wert ein, funktioniert es. Ich habe mir $prod_cat['id'] auch mit echo ausgeben lassen und es zeigt mir ordentlich die ID an. Wo liegt denn mein Denkfehler?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: WHERE-Teil einer SQL-Abfrage in php führt zu 'Parse Erro

  Alt 8. Mär 2006, 08:06
Der Fehler liegt höchstwahrscheinlich woanders nämlich bei der Variable PRODUCTS ohne $
Zitat:
Code:
/ list categories and products
foreach ($prod_cats as $prod_cat)
{
  $arr_products = get_sql_array("SELECT id, prod_article_no, prod_title,
    prod_price FROM " . PRODUCTS . " WHERE prod_cat_id = $prod_cat['id']");
ändere mal in
Code:
/ list categories and products
foreach ($prod_cats as $prod_cat)
{
  $arr_products = get_sql_array("SELECT id, prod_article_no, prod_title,
    prod_price FROM " . $PRODUCTS . " WHERE prod_cat_id = $prod_cat['id']");
Markus Kinzler
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: WHERE-Teil einer SQL-Abfrage in php führt zu 'Parse Erro

  Alt 8. Mär 2006, 08:06
Die einfachen Anführungszeichen in Deinem Array verwirren ihn.

Du könntest jetzt versuchen, die Dinger dort zu "escapen" oder den String zu zerteilen:

Code:
$sql = "select * from users where user_id=" .$data['wuppdi']. " AND user_level = ADMIN"
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: WHERE-Teil einer SQL-Abfrage in php führt zu 'Parse Erro

  Alt 8. Mär 2006, 08:09
Moin,

@mkinzler: nene, das passt schon:

Code:
define([color=#E20909]'PRODUCTS'[/color], [color=#E20909]'site_products'[/color]);
@Daniel: Ich danke Dir, es geht. Ich habe es getrennt und mit dem Punkt verbunden, wie in deinem Beispiel. Da hätte ich den Fehler ja als letztes gesucht.
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd
Online

Registriert seit: 17. Feb 2005
Ort: Weitingen
672 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: WHERE-Teil einer SQL-Abfrage in php führt zu 'Parse Erro

  Alt 8. Mär 2006, 11:44
Zitat von Matze:
@Daniel: Ich danke Dir, es geht. Ich habe es getrennt und mit dem Punkt verbunden, wie in deinem Beispiel. Da hätte ich den Fehler ja als letztes gesucht.
Ein wirklich sehr verbreiteter Fehler: Deine Funktion wird nicht ausgeführt, weil sie innerhalb eines Strings steht. Um solche Fälle in Zukunft zu vermeiden, erstelle das SQL-Statement in eine lokale Variable und verwende diese zur Ausführung (dann kannst Du Dir das SQL nämlich zu Debug-Zwecken auch vorher mal ausgeben lassen!).
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: WHERE-Teil einer SQL-Abfrage in php führt zu 'Parse Erro

  Alt 8. Mär 2006, 12:21
@Matze: Die Farben sind ja schön, aber Du kennst schon das [xml]-Tag der DP? Nicht so schön bunt, aber einfach zu nutzen

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort


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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz