not a valid MySQL result resource

exitboy

Erfahrenes Mitglied
Hallo vorerst folgendes diese Fehlermeldung erschein. Ich habe den selben script vor einem Tag zum laufen bekommen. Bin mir aber nicht bewusst da was geändert zu haben:

**** ERROR MESSAGE [TEXTAUSGABE im BROWSER]*****
Warning: mysql_fetch_field(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web1/html/testsrv/mysqldb.php on line 109
[record]
001;1;01;200630;00;1;0

Warning: mysql_fetch_field(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web1/html/testsrv/mysqldb.php on line 109
[record]
002;3;01;200631;00;2;0
...
**** ERROR MESSAGE ENDE ****

Start.php:
Code:
<?php
include("mysqldb.php");
$fp = file("uploaded.txt");
foreach ($fp as $value)

 {
  list ($co, $fi, $ka, $da, $st, $an, $um) = split ('[;]', $value);

  $db->echoquery("INSERT INTO testdb ('id', 'cis', 'fis', 'kas', 'das', sts', 'ans', 'ums') VALUES ('', $co, $fi, $ka, $da, $st, $an, $um)");
  echo "$co, $fi, $ka, $da, $st, $an, $um<br />\n";
 }

?>

In der Datenbank werdenkeine Zeilen eingetragt obwohl in der Datei selber 18 Zeilen sind. Jedoch werden aus der Datei alle Zahlen richtig ausgegeben.

Ausgegeben wird diese Fehlermeldung für alle 18.
Anbei die mysqldb.php:

Code:
<?php

// MySQL Klassendefinition
//
//
//
// Methoden:
//	set_doerror($boolvalue))
//	int connect()
//	int query($sql)
//	echoerror()
//	array rowarray()
//	echoquery($sql)


class mysql_db {
	var $link = false;
	var $resid = false;
	var $doerror = false;
	var $host = "localhost";
	var $user = "notpublic";
	var $passwd = "notpublic";
	var $tables = "notpublic";

	function set_doerror($boolvalue)
	{
		$this->doerror = $boolvalue;
	}

	
function connect()
// Verbindet zur Datenbank
{
  $temp = @mysql_connect
    ($this->host, $this->user, $this->passwd);
  if (!$temp) 
  {
    $this->echoerror();
    return false;
  }
  $this->link = $temp;
  $temp = @mysql_select_db($this->tables, $temp);
  if (!$temp) 
  {
    $this->echoerror();
    return false;
  }
  return $this->link;
}


	
function query($sql)
// Sendet eine Anfrage an die Datenbank 
{
  if (!$this->link) 
  {
    if ($this->doerror) 
    {
      echo ("<b>Nicht verbunden.</b><br>");
      return false;
    }
  }
  if ($this->resid) @mysql_free_result($this->resid);
  $result = mysql_query($sql, $this->link);
  if (!$result)  $this->echoerror();
  $this->resid = $result;
  return $result;
}

function echoerror()
// erzeugt eine Fehlerausschrift
// wenn $doerror=TRUE
{
  if (!$this->doerror) return;
  if (!mysql_errno()) return;
  echo ("<font color=\"red\"><b>" . mysql_errno());
  echo (": ". mysql_error() ." </b></font><br>");
}

function data()
// liefert einen Datensatz
{
  if (!$this->link)
  {
    if ($this->doerror)
      echo ("<b>Nicht verbunden!</b><br>");
    return false;
  }
  if (!$this->resid)
  {
    if ($this->doerror) 
      echo ("<b>Keine Abfrage!</b><br>");
    return false;
  }
  $result = mysql_fetch_array($this->resid, MYSQL_BOTH);
  $this->echoerror();
  return $result;
}


function echoquery($sql)
//Fragt die Datenbank ab und stellt die Abfrage dar
{
  $this->query($sql);
  echo("<table border cellpadding=\"3\"><tr>");
  $index = 0;
  echo("<th>record</th>");
  while ($field = mysql_fetch_field($this->resid))
    echo("<th>$field->name</th>");
  echo ("</tr>\n");
  $rec=0;
  while ($row = $this->data())
  {
    $rec++;
    echo("<tr><td>$rec</td>");
    for ($i=0; $i<mysql_num_fields($this->resid); $i++)
      echo("<td>".htmlentities($row[$i])."&nbsp;</td>");
    echo("</tr>\n");
  }
  echo ("</table>");
}

/*
function set_doerror($boolvalue)
{
  $this->doerror = $boolvalue;
}*/


function mysql_db()
// Construktor
{
  $this->connect();
}

}
	
	
$db = new mysql_db;
	
?>
 
Zuletzt bearbeitet:
Hi,

Ich hab mir jetzt nicht alles angeschaut, aber das erste, was mir aufgefallen ist, ist, dass du bei der Spaltenauflistung in deinem Insert vor der Spalte "das" das Hochkomma vergessen hast.
 
sorry, hab das nur schnell falsch abgetippt. Fehler ist weiterhin aktuell.
Lag nicht am Hochzeichen. (hab das oben direkt aktuallisiert);

Sondern an der ECHOQUERY Funktion. Da ist aussversehne das ECHO vorgerutscht *g*
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück