php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.03.2007, 17:32  
Neuer Benutzer
 
Registriert seit: 19.08.2006
Beiträge: 13
easy
Standard SQL Abfrage erzeugen/ string bearbeitung

Also ich versuch eine SQL Abfrage zu erzeugen und muss die felder plus ihre Werte angeben.Dafür bastel ich mir zwei strings.
Ich frag alle feldernamen ab und schreib sie auf den ersten string.
Dann gehts problem los... ich kann zwar den string mit den werten
erzeugen hab aber immer die sch* leerzeichen.
Hatte versucht alle Zeichen einzeln durch zugehen oder alles bis auf die leerzeichen raus zukopieren.
Ich hab einfach kein plan mehr

PHP-Code:
if($einfuegen=="einfuegen")
  {
   
//test DB auswahl
   
     
mysql_select_db("$txtDBname")
      or die(
"Auswahl der Datenbank nicht möglich: " mysql_error());

     
$query "SELECT *  FROM $txtTname"//abfrage
 
 //Variablendef.  
   
$zielf_kom="";
   
$quellef_kom="";
//Tabellenfelder-Abfrage 
  
$result mysql_query($query)
      or die(
"Hauptabf. fehlgeschlagen");
  
$fields mysql_num_fields($result);//Sp-anzahl
 
//Strings erzeugen Für EintragAbfrage
   
$ver=$fields-1;//vergleichsvar
   
for ($s 0$s <=$fields-1;$s++)
     {
        
$fname=mysql_field_name($result$s);//feldname(quelle,index)
        
     
if($s<$ver$zielf_kom.=$fname.",";//wenn letztes feld, kein komma
                       
else $zielf_kom.=$fname

     if(
$s<$ver$quellef_kom.="\ "."\"$".$fname."\ "."\","//     \"$BenutzerID\",\"$Name\"//wenn letztes feld
                
else  $quellef_kom.="\ "."\$".$fname."\ "."\""
     }
//String bearbeitung    
    
$leeranz substr_count($quellef_kom' ');//leerzeichen anzahl
    
$stlaenge strlen($quellef_kom);//laenge string
    //$str = trim($quellef_kom);
    //$quellef_kom = implode(" ",$bt);
    //echo"$bt[0],$bt[1]";
    
$leeranz substr_count($quellef_kom' ');
//Versuch 1. zeichenweise kopieren    
       
$quellef_komt[$stlaenge]=$quellef_kom;
        
    for(
$i=0;$i<$stlaenge;$i++)
    {
     if(
0==strcmp($quellef_komt[$i], " "))
       {
        
$split.=$quellef_komt[$i];//echo"$quellef_kom[$i]";
       
}     
    }
    
    
//Versuch 2. leerzeichen suchen und strings kopieren... 
       
$gst=$quellef_kom;
    for(
$i=1;$i<=$leeranz;$i++)
    { 
      
$fl=0;
      
$pos strpos($gst' ');
      if(
$pos!=0) {$st1substr($gst,pos-1);$fl++;}
             
$stlaenge strlen($gst);
      if(
$pos!=$laenge) {$st2=substr($gst,$pos+1,$stlaenge);$fl=2;}
        else echo
"FEhler";
      echo
"Teil: $st1
Teil: $st2
"
;
      if(
$fl==0)$gst=$st1.$st2;
       else echo
"Fehlercode: $fl
"
;
    }
    
    echo
"Leerzeichen: $leeranz";
    echo
"FEldanz: $fields
"
;
    echo
"Feldern: $zielf_kom
"
;
    

//SQL Abfrage    
    
$eintrag ="insert into $txtTname($zielf_kom)
     values ($quellef_kom)"
;// BenutzerID,Name \"$BenutzerID\",\"$Name\"
    
$resID mysql_query($eintrag);
    
$errormysql_error();
    echo 
$error;
    if (!
$resID) die ("
FEHLER IN DER ABFAGE ... Eintrag"
); 

easy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 17.03.2007, 17:34  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Oh Gott. So kann den Code doch keiner lesen!
Unformatierter Code ist grauenhaft!
Bitte editiere Deinen Beitrag nochmal und packe den Code in PHP-Tags.

Dann kann man sich das auch mal durchlesen, ohne Augenkrebs zu kriegen.

Außerdem dürfte das Problem nichts Fortgeschrittenes sein.

Edit:
Dann kannst Du gleich nochmal erzählen, von welchen Leerzeichen Du genau redest.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 17.03.2007, 17:36  
Neuer Benutzer
 
Registriert seit: 19.08.2006
Beiträge: 13
easy
Standard

geht klar^^ sry
easy ist offline  
Alt 17.03.2007, 17:48  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Sag doch einfach mal was du vorhast.
Zergling-new ist offline  
Alt 17.03.2007, 17:54  
Neuer Benutzer
 
Registriert seit: 19.08.2006
Beiträge: 13
easy
Standard

ICh schreib gerade nen DB Admin und wähle vorher ne db und ne tbl aus.

dann werden die Eingabefelder erzeugt und die Inhalte übergeben(var name wie feldname) an die Funktion zu eintragen.

so was in der art wie ne "dynamischer" feldeintrag in ne tabelle.
easy ist offline  
Alt 17.03.2007, 17:57  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Und wobei stört welches Leerzeichen?

Hilft implode()?
Zergling-new ist offline  
Alt 17.03.2007, 19:05  
Neuer Benutzer
 
Registriert seit: 19.08.2006
Beiträge: 13
easy
Standard

Die Abfrage stimmt dann net ... im SQL darf kein Sinnloses Leerzeichen stehen.

Aber ohne die Leerzeichen kann ich den string nicht zusammen zimmern zwecks sonderzeichen oder so zb. "\" so söllte es in den String aber funsen tuts nur mit "\ "

Wenn Die Tabelle die Felder BenutzerID und Name hätte müste/söllte $quellef_kom so aussehen

$quellef_kom=\"$BenutzerID\",\"$Name\"

leider funst es bloß so, mit vierlehrzeichen

$quellef_kom= \ " $BenutzerID \ ", \ "$Name \ "
easy ist offline  
Alt 17.03.2007, 19:10  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Stimmt doch garnicht. In SQL kannst du wie in fast jeder Programmiersprache (Ausnahme: http://de.wikipedia.org/wiki/Whitespace_(Programmiersprache) ) mit Whitespaces um dich werfen wie du lustig bist.

Zeig doch einfach mal den Soll- und Ist-Zustand des SQL-Codes und welcher Teil davon variabel sein soll?
Zergling-new ist offline  
Alt 17.03.2007, 20:02  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

wenn ich das richtig verstehe ist sein problem das einfügen von doppelten Hochkommata.

die korrekte syntax dafür ist
Code:
"\"" . $wert . "\"" 
bzw. 
'"' . $wert . '"'
obwohl ich mich nicht durch den codekauderwelsch da oben durchwuseln möchte.
nikosch ist gerade online  
Alt 17.03.2007, 23:52  
Neuer Benutzer
 
Registriert seit: 19.08.2006
Beiträge: 13
easy
Standard

hm also hab ma nen bissel whitespace gegoogelt....


was genau meinst du damit weil kenn whitespce garnet und stand nix als SQLBefehl. Also das mit dem Assemblerskript hab ich net ganz geraft, wäre echt nett wenn du ma nen kleine Einleitung oder was zum lesen hättest.
easy 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
Abfrage von einer Abfrage Datenbanken 5 27.01.2011 23:31
Abfrage -> where String anhängen Papst Datenbanken 2 28.12.2007 23:11
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
String bearbeitung und unexpected T_OBJECT_OPERATOR nieselfriem PHP Tipps 2006 7 21.02.2006 15:41
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
[Erledigt] String in Datum umwandeln und für Abfrage brauchbar machen PHP Tipps 2005 3 12.05.2005 00:24
[Erledigt] IF() abfrage in variable packen PHP Tipps 2005 14 01.04.2005 17:23
Abfrage ob ein String groß oder klein ist PHP Tipps 2005 8 01.04.2005 09:33
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
PDF aus einer Mysql abfrage b.z.w. aus php erzeugen PHP Tipps 2005 3 05.02.2005 16:47
Abfrage von Char-Feldern Datenbanken 9 04.02.2005 14:06
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
[Erledigt] String mit Leerzeichen auffüllen HTML, Usability und Barrierefreiheit 2 27.10.2004 18:47
Abfrage funktioniert zwar, aber nicht korrekt Datenbanken 2 16.08.2004 09:10
Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab PHP Tipps 2004 4 12.07.2004 15:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
javascript sql abfrage, sql string bearbeitung, sql string erzeugen, sql string leerzeichen, sql abfrage string, sql string bearbeiten, sql string auffüllen, sql strings addieren, sql string erstellen, sql string abfrage, strings addieren sql, sql string addieren, sql leerzeichen im string, stringbearbeitung in sql, sql string mit leerzeichen, string addieren sql, sql string verarbeitung, string abfrage sql, http://www.php.de/php-tipps-2007/43708-sql-abfrage-erzeugen-string-bearbeitung.html, stringbearbeitung sql

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