Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Problem mit SQLite-query

Diskussion: Problem mit SQLite-query im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo! Ich habe folgendes Problem, ich habe in einem Ordner auf meinem webserver 2 PHP-Skripte und eine SQLite-Datenbank. PHP-Skript ...

Antwort
Alt 07.05.10, 14:15   #1 (permalink)
sw33tlull4by
Guest
 
Likes:
Standard Problem mit SQLite-query

Anzeige

Hallo!
Ich habe folgendes Problem, ich habe in einem Ordner auf meinem webserver 2 PHP-Skripte und eine SQLite-Datenbank.
PHP-Skript 1 generiert eine HTML-Seite welche mittels Javascript PHP-Skript2 aufruft und es per GET Parametern versorgt.
PHP-Skript2 soll dann die SQLite-Datenbank aktualisieren.
Und genau dort liegt der Fehler.
Selbst wenn ich das Formular mittels meines Browsers selbst anwähle funktioniert es nicht.
In /var/log/httpd/errorlog steht nichts, alles scheint normal zu laufen,alles wird ausgeführt nur es gibt keine Änderungen,sogar die Variable $num wird entwertet,was komisch ist.

Sobald ich aber die query in einer interaktiven PHP-shell eingebe funktioniert es wunderbar.
Das Verzeichniss gehört mir und der Gruppe apache an. alle Nichtbesitzer und Nichtgruppenmitglieder dürfen auf db1.sqlite schreiben,lesen und Programme darauf ausführen.
Selinuxrechte wurden mittels restorecon -r auch gesetzt.
ls -Z gibt für db1.sqlite folgendes aus:
-rwxrwxr--. sw33t apache unconfined_u:object_r:httpd_sys_content_t:s0 db1.sqlite

was ich komisch finde ist das dort nicht steht ....system_u:object_r..... aber da ich auch 2 PHP-skripte habe welche das gleiche attribut haben aber trotzdem ausführbar sind denke ich nicht das das mein Problem ist.

Weiss jemand vielleicht woran das liegt?

PHP-Code:
<?php


    
function inserting_vote($param1,$param2){
        
        if(
$param1<=|| $param2 == NULL)
            return;
        
        
$db = new PDO("sqlite:./db1.sqlite");
    
$num 0;
        foreach(
$param2 as $row){
            
$num $db->exec("update table1 set counter=counter+1 where param1=".$param1." and param2='".$param2."')");
            print 
$num."  gemachte änderungen <br>";
            
        }
    }
    
inserting_vote($_GET['num'],split("~",$_GET['theparam']));
    print 
$_GET['num']."<br>";
    print 
$_GET['theparam']."<br>";
    
print_r(split("~",$_GET['theparam']));
    
?>
Mfg

sw33t

Geändert von sw33tlull4by (07.05.10 um 15:34 Uhr)
  Mit Zitat antworten
Alt 07.05.10, 14:21   #2 (permalink)
 
Benutzerbild von b4ck
 
Registriert seit: 13.02.06
b4ck Leistung: Z3
Likes: 1
Standard

der ganze code wäre ja schonmal hilfreich bzw. hab ich das richtig verstanden:

script 1 zeigt html an dort kann man dann was auswählen dass dann per ajax auf script 2 geschickt wird und dort dann in die DB kommt?

wenn ja:

kommt der ajax request sicher an?
werden die GET parameter korrekt überliefert?
b4ck ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 07.05.10, 14:24   #3 (permalink)
sw33tlull4by
Guest
 
Likes:
Standard

Ja werden sie, ist zwar dank der localhostproblematik etwas schwer zu zeigen aber ja,alles im grünen Bereich.
Aber selbst wenn ich das 2.PHP-Skript per URL in meinem Browser ansteuere liegt der Fehler vor, ist also kein Javascript-Problem.
  Mit Zitat antworten
Alt 07.05.10, 14:32   #4 (permalink)
 
Benutzerbild von b4ck
 
Registriert seit: 13.02.06
b4ck Leistung: Z3
Likes: 1
Standard

wenn dus per url aufrufst das script was kriegst du wenn du die foreach schleife so machst:

PHP-Code:
        foreach($param2 as $row){
            
$num $db->exec("update table1 set counter=counter+1 where param1=".$param1." and param2='".$param2."')");
            echo 
"update table1 set counter=counter+1 where param1=".$param1." and param2='".$param2."')";
            print 
$num."  gemachte änderungen <br>";
            
        } 
den erwarteten output?
b4ck ist offline   Mit Zitat antworten
Alt 07.05.10, 15:33   #5 (permalink)
sw33tlull4by
Guest
 
Likes:
Standard

Ja ich bekomme die erwartete Ausgabe.
Die Query stimmt.
$param1 ist eine 1 und $param2 eine Zahl welche in Anführungszeichen gesetzt wird.
  Mit Zitat antworten
Alt 07.05.10, 15:39   #6 (permalink)
 
Benutzerbild von b4ck
 
Registriert seit: 13.02.06
b4ck Leistung: Z3
Likes: 1
Standard

was sagt:

PHP-Code:
var_dump($num); 
in der schleife nach dem query?
b4ck ist offline   Mit Zitat antworten
Alt 07.05.10, 15:45   #7 (permalink)
sw33tlull4by
Guest
 
Likes:
Standard

Boolean false;
  Mit Zitat antworten
Alt 07.05.10, 15:49   #8 (permalink)
 
Benutzerbild von b4ck
 
Registriert seit: 13.02.06
b4ck Leistung: Z3
Likes: 1
Standard

mhm versuch mal den query so auszuführen:

PHP-Code:
$db->exec(query stuff);

print_r($db->errorInfo()); 

Geändert von b4ck (07.05.10 um 15:52 Uhr)
b4ck ist offline   Mit Zitat antworten
Alt 07.05.10, 15:50   #9 (permalink)
sw33tlull4by
Guest
 
Likes:
Standard

Ich hab den Fehler gefunden.
Klammernzählen hilft manchmal.
Ich habe eine Klammer geschlossen obwohl ich keine aufgemacht habe.
Vielen dank für die Hilfe.
Echt peinlich, sitzt man 24h vor dem Code und sieht das einfachste nicht.
Mfg

sw33t
  Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » PHP Problem mit SQLite-query
Themen-Optionen
Ansicht

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61