Seite 1 von 1

[Erledigt]Fehler bei Wert auslesen in MySql

Verfasst: 27.08.2006 13:50
von Skippy
erstellt wurde die Tabelle so:

Code: Alles auswählen

$sql[] = "CREATE TABLE " . $table_prefix . "guest_config (
  config_name varchar(255) NOT NULL default '',
  config_value varchar(255) NOT NULL default '',
  PRIMARY KEY  (config_name)
) TYPE=MyISAM;";
den wert einegfügt wurde hiermit

Code: Alles auswählen

$sql[] = "INSERT INTO " . $table_prefix . "guest_config VALUES ('version', '2.2.2')";



und nun zum auslesen

Code: Alles auswählen

define ('GUESTBOOK_TABLE', $table_prefix.'guestbook');
define ('GUESTBOOK_CONFIG_TABLE', $table_prefix.'guest_config');

$sql = "SELECT config_value FROM " . GUESTBOOK_CONFIG_TABLE . "WHERE config_name = 'version'";
if (!($result = $db->sql_query($sql)))
{
	die("Couldn't obtain version info");
}
ich habe keine Ahnung warum das nicht funktioniert
den aufruf selbst habe ich aus der update_to_latest.php von der phpbb installation gemopst.
Die tabelle ist definitiv so vorhanden und ein wert ist auch drin

EDIT:

Mein Fehler hab beim umsetzen des aufrufs in eine Zeile ein Leerzeichen vergessen( vor dem WHERE)

Verfasst: 27.08.2006 14:01
von MagMo
Hi,

1)
Skippy hat geschrieben:und nun zum auslesen

Code: Alles auswählen

define ('GUESTBOOK_TABLE', $table_prefix.'guestbook');
define ('GUESTBOOK_CONFIG_TABLE', $table_prefix.'guest_config');

$sql = "SELECT config_value FROM " . GUESTBOOK_CONFIG_TABLE . "WHERE config_name = 'version'";
if (!($result = $db->sql_query($sql)))
{
	die("Couldn't obtain version info");
}
zwischen dem " und dem WHERE fehlt ein Leerzeichen.

2)
Verwendest du den Code innerhalb von phpBB oder auf einer php-Seite, die nichts mit phpBB zu tun hat?
Wenn letzteres der Fall ist, dann kann das nicht funktionieren, da die Klasse "$db->sql_query" von phpBB definiert wird.

Grüße
MagMo

Verfasst: 27.08.2006 14:08
von Skippy
ne der Rest stimmt so hab mich ja wie gesagt am updatescript orientiert

um das updatescript fürs Gästebuch mal auf Vordermann zu bringen

aber danke für die Hilfe
an das Leerzeichen hatte ich gar nicht gedacht bin dan aber auf die Idee gekommen etwas zu ändern

Code: Alles auswählen

if (!($result = $db->sql_query($sql)))
{
  $error = $db->sql_error();
	die("Couldn't obtain version info <br /><br />" . $error['message'] . "<br />");
}
und die fehlermeldung sagte mir dan etwas ;-)