Fehler: Resource id #3

  • Themenstarter Themenstarter moritz115
  • Beginndatum Beginndatum
M

moritz115

Hallo,

ich habe ein Problem!
Und zwar mit folgendem PHP Code:

PHP:
mysql_query("'INSERT INTO wwp_page (product) values ('kossu')'");
echo mysql_query("SELECT ID FROM wwp_page WHERE ID = 'last_insert_id()'");


Als Ausgabe bekomme ich:
Resource id #3


Ich habe keine Ahnung warum dies kommt. Bin auch noch Anfänger/Fortgeschrittener.
Habe schon gegooglet, aber nur etwas mit "mysql_fetch_array" oder "mysql_fetch_object" gefunden. Funktioniert in meinem Code beides nicht. Kommt eine Fehlermeldung.

Ich hoffe, einer von euch kann mir helfen ;)

Vielen Dank im Vorraus
moritz115
 
http://de.php.net/manual/en/function.mysql-query.php
For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

The returned result resource should be passed to mysql_fetch_array(), and other functions for dealing with result tables, to access the returned data.

Use mysql_num_rows() to find out how many rows were returned for a SELECT statement or mysql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

mysql_query() will also fail and return FALSE if the user does not have permission to access the table(s) referenced by the query.

Steht doch alles in der Doku.
 
Wieso sollte fetch_array oder fetch_object einen Fehler werfen? Nur wenn du es falsch anwendest. Resource ist schon das richtige Ergebnis.

Zeig doch mal wie du es probiert hast.
 
Hallo,

ersteinmal danke für eure Hilfe!
Das mit der doku verstehe ich leider nicht ganz^^
Also ihr wisst ja, das dieses Resource id weg soll und die zu letzt in die Datenbank (Tabelle) eingegebene ID ausgegeben werden soll.
Ich habe dies dann so gemacht:


PHP:
mysql_query("'INSERT INTO wwp_page (product) values ('kossu')'");
echo mysql_fetch_array("SELECT ID FROM wwp_page WHERE ID = 'last_insert_id()'");


Folgender Fehler taucht auf:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource


mfg
moritz115
 
Nicht so
PHP:
mysql_query("'INSERT INTO wwp_page (product) values ('kossu')'");
sondern so
PHP:
mysql_query("INSERT INTO wwp_page (product) values ('kossu')");
 
Diesmal steht eigentlich alles in der Fehlermeldung. :-)

http://de.php.net/manual/en/function.mysql-fetch-array.php

Schau dir mal folgendes Beispiel an

PHP:
mysql_connect("localhost", "mysql_user", "mysql_password"); // Verbindung herstellen
mysql_select_db("mydb"); // Datenbank wählen
$result = mysql_query("SELECT id, name FROM mytable"); // Abfrage Senden

/*
Rückgabewerte verarbeiten
*/
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);  
}

Ich hoffe es ist verständlich

die zu letzt in die Datenbank (Tabelle) eingegebene ID ausgegeben werden soll.
Dafür gibt es eine eigene Funktion.
mysql_insert_id
 
Hallo,

danke, aber dafür bin ich zu blöd^^. Ich verstehe es noch nicht ganz. Ich habe ja "last_insert_id" genommen als eigene Funktion!?
Kannst du mir an meinem Code zeigen, wie es geht? Vielleicht verstehe ich es dann besser...

Der Code:

PHP:
include("config.inc");

mysql_connect($host, $user, $passwd) or die ("Keine Verbindung hergestellt!");
mysql_select_db ("$db1") or die ("Datenbank nicht geöffnet!");



if ($_POST['shoutbox'] == "shoutbox")
{
//checkbox is checked
}
else
{
//checkbox isn't check
mysql_query("INSERT INTO wwp_page (product) values ('kossu')");
echo mysql_query("SELECT ID FROM wwp_page WHERE ID = 'last_insert_id()'");



//edit:

Ich habe es geschafft, das da steht das die letzte ID 0 ist. ABer das stimmt nicht^^
Mit diesem Code:
PHP:
mysql_query("INSERT INTO wwp_page (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());



Vielen Dank!
moritz115
 
Zuletzt bearbeitet von einem Moderator:
Und wie dir die Fehlermeldung sagt, können wir dir hier nicht helfen. Du wirst hier wohl einfach einen Tipfehler oder die Tabelle nicht erstellt haben.
 
Zurück