mysql_ bzw mysqli:: real_escape_string() liefert leeren String

Hi.

Schon mal geprüft, ob der Parameter $sessionID überhaupt mit einem Wert versorgt wurde?

Desweiteren empfehle ich die Verwendung von

PHP:
// Schreib mich an den Anfang des Scripts
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
 
Moin,
ja, $sessionID besteht aus Zahlen und Buchstaben (das ist das standart cookie, das ich per $my_user = new vemc2_user(session_id()); ) übergebe. (Siehe link, skeleton.php : http://www.clundxiii.com/vemc2/skeleton.php)
error_reporting steh ebenfalls in der skeleton.php drin (allerdings ohne E_STRICT).
Ich hab deine 2 Zeilen mal hinzugefügt ... Ergebnis siehe Link :D
Simon

Edit: anscheinend wird doch keine Verbindung zum Server aufgebaut o.O aber wiese schlägt dann
Code:
if (!$this->mysql_con) echo "couldn't connect to sql server!";
nicht an?
 
Zuletzt bearbeitet:
Die Klassen-Basierte Version von MySQLi erstellt auf jeden Fall ein Objekt. Ob beim Connecten ein Fehler aufgetreten ist, solltest du mit $this->mysql_con->connect_errno abfragen.
 
Danke!
ich denke mal, das liegt daran, dass meine $sqluser, -pass und -db in der settings.php liegen. Wie kann ich auf die zugreifen? Kann man die als "global" definieren?
Bis jetzt sieht settings.php so aus:
Code:
<?php

$mysqluser = 'name';
$mysqlpass = 'password';
$mysqldb   = 'dbname';

?>
(daten natürlich abgeändert, nicht dass sich jemand über meine "sicheren" logindaten beschwert :P )
Simon
 
Du kannst die settings.php includen. Das geht auch in Funktionen und Klassen-Methoden:

PHP:
// =========================================
// settings.php
$mysqluser = 'name';
$mysqlpass = 'password';
$mysqldb   = 'dbname';

// =========================================
// foo.php
class foo
{
  public function bar()
  {
    include "settings.php";
    echo "mysqluser = $mysqluser";
  }
}

$baz = new foo();
$baz->bar();

// =========================================
// funktion.php
function blub()
{
  require "settings.php";
  echo "mysqldb = $mysqldb";
}

Ansonsten wäre da noch das superglobale Array $_GLOBALS $GLOBALS. Damit kannst du es natürlich auch machen.

BITTE KEIN "global $var1; global $var2;...." VERWENDEN! Das ist unschön und führt ggf. zu Problemen.
 
Zuletzt bearbeitet:
Zurück