SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.02.2009, 20:50:27
dpaehl dpaehl ist offline
Anfänger
 
Registriert seit: Feb 2009
Alter: 59
Beiträge: 11
PHP SQLITE 3 mit PDO problem

Folgendes Problem mit einer SQLITE 3 DB

$dbHandle = new PDO('sqlite:test.s3db');

$sql = $dbHandle->query('SELECT * FROM Daten ORDER BY Name',PDO::FETCH_ASSOC);
.....

und hier ist das Problem
foreach ($sql as $value)

Fehlermeldung: <b>Warning</b>: Invalid argument supplied for foreach in

Auch mit geht es nicht
$sql = $dbHandle->query('SELECT * FROM Daten ORDER BY Name');

Lokale Installationen klappen dagegen einwandfrei. Auch auf unterschiedlichsten Servern getestet immer mit dem gleichen Ergebnis.
Auch unterschiedliche lokale Installtionen getestet, es klappt immer einwandfrei.


Das Problem liegt wohl ein $sql=
Mit Zitat antworten
  #2  
Alt 06.02.2009, 20:52:11
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: PHP SQLITE 3 mit PDO problem

Was sagt denn var_dump() zum "kaputten" $sql ?
Mit Zitat antworten
  #3  
Alt 06.02.2009, 20:53:12
dpaehl dpaehl ist offline
Anfänger
 
Registriert seit: Feb 2009
Alter: 59
Beiträge: 11
AW: PHP SQLITE 3 mit PDO problem

Online nichts, bzw bool(false)

Geändert von dpaehl (06.02.2009 um 20:55:12 Uhr) Grund: bool(false)
Mit Zitat antworten
  #4  
Alt 06.02.2009, 21:03:32
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: PHP SQLITE 3 mit PDO problem

PHP-Code:
$dbHandle = new PDO('sqlite:test.s3db');
$sql $dbHandle->query('SELECT * FROM Daten ORDER BY Name',PDO::FETCH_ASSOC);
if(!
$sqlprint_r($dbHandle->errorInfo()); 

Geändert von DokuLeseHemmung (06.02.2009 um 21:04:10 Uhr)
Mit Zitat antworten
  #5  
Alt 07.02.2009, 10:44:16
dpaehl dpaehl ist offline
Anfänger
 
Registriert seit: Feb 2009
Alter: 59
Beiträge: 11
AW: PHP SQLITE 3 mit PDO problem

Array ( [0] => HY000 [1] => 14 [2] => unable to open database file )

Das Problem ist nur das es offline mit den unterschiedlichsten Versionen immer funktioniert auch sortiert nicht sortiert. Es kann dann nur noch irgendeinen PHP.INI Einstellung sein die unterschiedlich ist.
Nur bin ich bisher noch nicht dahinter gekommen welche dafür zuständig ist.
Mit Zitat antworten
  #6  
Alt 07.02.2009, 12:29:25
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: PHP SQLITE 3 mit PDO problem

Gestehe von SQLite keine Ahnung zu haben.
Hast du mal die Versionen zwischen Testumgebung und Echtbetrieb per phpinfo() überprüft?
Notfalls kannst du da auch schon das Problem erkennen.
Mit Zitat antworten
  #7  
Alt 07.02.2009, 13:47:43
dpaehl dpaehl ist offline
Anfänger
 
Registriert seit: Feb 2009
Alter: 59
Beiträge: 11
AW: PHP SQLITE 3 mit PDO problem

Mit SQLITE2 ist das alles kein Problem, da läuft alles einwandfrei

Versionen: Offline 5.2.8 und 5.2.6
Online 5.2.6 und 5.2.5

Aber ich habe auch eine kleine Suchefunktion drin alla.


Zitat:
$res= 'SELECT * FROM Daten WHERE Name LIKE "'.$name.'"';

foreach ($dbHandle->query($res) as $value)
...
oder auch
$res=$dbHandle->query( 'SELECT * FROM Daten WHERE Name LIKE "'.$name.'"');

foreach ($res as $value)
Das funktionert auch Online 100%, egal welche PHP Version.

Das ist das was mich doch etwas wundert.

Die meisten Sachen habe ich offline auch der online Version angepasst.

Online ist zusätzlich Suhosin Extension überall bei, offline nicht.

Offline halt Windows.

Auch die Pfade für
$dbHandle = new PDO('sqlite:test.s3db');

hatte ich angepasst //.$_SERVER['DOCUMENT_ROOT'].
Hat auch nichts geändert.

Geändert von dpaehl (07.02.2009 um 13:56:06 Uhr)
Mit Zitat antworten
  #8  
Alt 07.02.2009, 15:44:33
dpaehl dpaehl ist offline
Anfänger
 
Registriert seit: Feb 2009
Alter: 59
Beiträge: 11
AW: PHP SQLITE 3 mit PDO problem

Ich habe das ganze mal anders gemacht:

Zitat:
function dbSQLiteConnection()
{
if($dbHandle = new PDO('sqlite:test.s3db')) {
return $dbHandle;
} else {
die("db error");
}
}

$DB = dbSQLiteConnection();
$query="SELECT * FROM DATEN";
$sql = $DB->query($query);
$ergebnis = $sql->fetch(PDO::FETCH_ASSOC);

Nun das Ergebnis:

foreach ($sql as $value)
//Funktioniert jetzt auch online 100% Nur eben nicht sortiert
foreach ($ergebnis as $value)
Hier wird irgendetwas ausgeben nur nicht das was soll


Wenn das ganze noch sortiert ausgeben werden könnte wäre es perfekt.
Mit Zitat antworten
  #9  
Alt 07.02.2009, 16:10:53
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: PHP SQLITE 3 mit PDO problem

"SELECT * FROM DATEN ORDER BY SpaltenBezeichner"
Ersetze den * durch die wirklich benötigten Spalten.

Das ganze ist aber nicht logisch!!
Der Bock, welchen du geschossen hast, liegt weiterhin im dunklen.

Geändert von DokuLeseHemmung (07.02.2009 um 16:12:51 Uhr)
Mit Zitat antworten
  #10  
Alt 07.02.2009, 16:37:11
dpaehl dpaehl ist offline
Anfänger
 
Registriert seit: Feb 2009
Alter: 59
Beiträge: 11
AW: PHP SQLITE 3 mit PDO problem

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
"SELECT * FROM DATEN ORDER BY SpaltenBezeichner"
Ersetze den * durch die wirklich benötigten Spalten.
Das hatte ich auch schon
<b>Warning</b>: Invalid argument supplied for foreach in


Das SELECT * FROM DATEN ist komischerweise Online das einzigste was funktioniert.

Und auch ist es vollkommen egal

$ergebnis = $sql->fetch(PDO::FETCH_ASSOC);

es kommt immer:

Fatal error: Call to a member function fetch() on a non-object

Es liegt an der SQL Query die bei PDO nicht so klappt, aber nur online, offline geht alles ohne Probleme.

Es ist klar das SELECT * FROM DATEN zuwenig ist, aber sowie ein ORDER .. bei ist kommt immer invalid argument supplied for foreach in
Ein LIKE usw dagegen klappt einwandfrei.

Das komische ist das ich am Ende des scripts noch einmal eine SQL Abfrage mache dort aber nur einen einzigen Wert auslese, das klappt 100%.


Zitat:
$sql = 'SELECT Version from Version';
$result = $DB ->query($sql);
$ergebnis = $result->fetch(); // store result in array
$database_version= "Database version--> ".$ergebnis['Version'];
echo $database_version;
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit php 3 Spalten Layout 007Rene HTML, CSS und JavaScript Help! 1 01.03.2007 14:44:26
Problem mit Anführungsstrichen in PHP und TXT file S3Ri0US PHP Grundlagen 3 18.11.2006 10:10:53
problem mit " in php Gi7mo! PHP für Fortgeschrittene und Experten 2 02.08.2003 20:27:51
Problem mit OOP in PHP Spicedwarf PHP für Fortgeschrittene und Experten 3 28.11.2002 13:39:16
Seltsames Problem, das nur indirekt mit PHP zu tun hat Hiyanha PHP Grundlagen 7 30.06.2002 12:04:24


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:54:30 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt