Multiple Tabellenabfrage

So habe ichs jetzt gemacht
<?
$dbhost="localhost";
$dbuser="Brody";
$dbpass="bossadmin";
$dbname="ipdata";
$dbtable="2003,2004";
$connect = mysql_connect($dbhost, $dbuser, $dbpass, $dbname)
//SELECT * from 2003, 2004 WHERE Name LIKE ('IP_Nummer%');
//Select * from 2003
//union all
//select * from 2004
SELECT * FROM 2003
WHERE Alias = '%'
and IP LIKE ('%')
UNION ALL
SELECT * FROM 2004
WHERE Alias='%'
and IP LIKE ('%')
?>
und die Meldung bekomme ich
Parse error: parse error, unexpected T_STRING in D:\xampp\htdocs\2.PHP on line 12

habe ich ", ' und/oder ` irgendwo vergessen?
 
Also, jetzt fangen wir mal ganz von vorn an! Hast Du Dir eigentlich mal was angesehen, wie man mit php und mysql umgeht?

Hier ein Beispiel:

PHP:
//settings.inc
//die nächsten Zeilen kannst Du auch auslagern in eine settings-Datei und sie dann überall, 
//wo Du einen Zugriff auf die DB machst, vorher über include einbinden
$DBhost = "localhost";
$DBuser = "Brody";
$DBpass = "bossadmin";
$server = mysql_connect ($DBhost, $DBuser, $DBpass);
if (!mysql_select_db ($DBname, $server)) {
	die("no connection to database");
}
//Ende settings.inc

//So, jetzt sollte die Datenbankverbindung stehen
//Nun eine einfache Select-Abfrage

$sql = "SELECT * FROM tablename";
$result = mysql_query($sql) or die(mysql_error());

while ($data = mysql_fetch_assoc($result)) {
   //Ausgabe, Weiterverarbeitung etc.
}

So, wenn Du hier was nicht verstehst, dann frag nochmal. Ansonsten versuch das mal auf Deine Anwendung zu übertragen.

[edit]
$DBname = "ipdata"; //fehlt oben noch!
[/edit]
 
Zuletzt bearbeitet:
joah, ist mir schon peinlich, ich verstehe tatsächlich gar nix davon.

Auch bei den Antworten und liebevollen Erklärungen komme ich ehrlich gesagt nicht weiter, nur, brauch ich dieses Abfrageformular einerseits, und möchte nicht nach einem fertigen Script fragen andererseits. Ich finde das tut man nicht, so hangle ich mich seit Wochen von Forum zu Forum.

Dieses hier schien mir am besten geeignet. Ich verstehe halt die ganzen Begriffe schon im Zusammenhang nicht. "Little-Idiot.de" und so habe mir da auch nicht geholfen.

Tut mir echt leid.

Also ich habe jetzt Dein Script kopiert als 3.php und aufgerufen. Nun meldet das Script "no connection to database". Gleichwohl die Angaben localhost/ Brody / bossadmin absolut korrekt sind.
Apache läuft und Mysql ist geladen.
 
Benutze doch Dein Skript weiter, so wie Du es bisher hattest. Nur ab dem Select solltest Du das Ganze entsprechend meinem Skript anpassen. Du kannst nämlich das Select-statement nicht so in luftleerem Raum stehen lassen. Musst es einer Variable als String zuweisen und dann muss das select natürlich noch ausgeführt werden.

Ich sprach übrigens grad von den beiden Zeilen:
PHP:
//Hier muss Du dann Dein Select reinpacken.
$sql = "SELECT * FROM tablename"; 
//Hier wird ausgeführt oder bei Fehler abgebrochen mit der mysql-Fehlermeldung
$result = mysql_query($sql) or die(mysql_error());

So, und dann empfehle ich Dir dringenst...setz Dich erstmal damit auseinander, was Du hier machst. Denn ein bisschen begreifen solltest Du das nämlich schon! Weil dann kannste sowas nämlich auch allein.

Zum Beispiel gibts hier auf tutorials.de ne Rubrik "Tutorials" und da gibts auch ne ganze Menge zu php. Vielleicht solltest Du Dir die Zeit gönnen und dann vor allem versuchen zu verstehen!

Weil, tut mir leid wenn ich das sagen muss, das Beispielskript von mir enthält wirklich NICHTS spannendes!

Ach ja, und Dein Problem liegt übrigens bei php! (Nur falls Du Dich wunderst, wenn Dich jemand ausm sql-Forum zur php Gruppe schicken sollte.)
 
Wie schon jemand erwaehnt hat, gehoert das SELECT-Statement so nicht dorthin


Versuch doch mal folgendes mit entsprechender Anpassung an Deine Datenbank...:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Beispiel fuer Ausgabe einer mysql-Tabelle</title>
</head>
<body>

<?php
//Variablendeklaration:


$dbhost="localhost";
$dbuser="Brody";
$dbpass="bossadmin";
$dbname="ipdata";

//Verbindung zu DB:
$dbverbindung = mysql_connect ($dbhost, $dbuser, $dbpass);

//SELECT Operation:
$dbanfrage = "SELECT * FROM 2003 WHERE Alias = '%' and IP LIKE ('%') ";
$dbanfrage = $dbanfrage . " UNION ALL ";
$dbanfrage = $dbanfrage . "SELECT * FROM 2004 WHERE Alias='%' and IP LIKE ('%')";

//ERgebnismenge initialisieren:
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

//Ergebnismenge pruefen:
// groesser als 0:

if (mysql_Num_Rows($result) > 0)
{
$Gesamt = "";
}
else
{
$Gesamt = "Fehler bei Abfrage bzw keine Daten";
}

// gleich 0:

if ($Gesamt != '')
{

printf("%s", $Gesamt);
}

//sonst Ausgabe der ermittelten Daten

else
{
printf("<div align=center>\n");
printf("<table border=1>\n");
printf("<tr>\n");
printf("<th>Name</th>\n");
printf("<th>IP</th>\n");
printf("<th>Alias</th>\n");
printf("<th>Apache</th>\n");
#printf("<th>Bemerkung</th>\n");
printf("</tr>\n");
}

$i=0;

while ($i < mysql_NumRows ($result))
{
$name= mysql_Result($result, $i,"name");
$ip= mysql_Result($result, $i,"IP");
$alias= mysql_Result($result, $i,"alias");
$apache= mysql_Result($result, $i,"apache");
#$bemerkung= mysql_Result($result, $i,"bemerkung");
printf("<tr>\n");
printf("<td>%s</td>\n", $name);
printf("<td>%s</td>\n", $ip);
printf("<td>%s</td>\n", $alias);
printf("<td>%s</td>\n", $apache);
#printf("<td>%s</td>\n", $bemerkung);
printf("</tr>");

$i++;
}

printf("</table>\n");

?>


</body>
</html>


Anbei noch ein Link zum php Handbuch:

http://de3.php.net/manual/de/index.php

bzw

http://de3.php.net/manual/de/ref.mysql.php
 
danke, ich habe das Script nun kopiert und als 4.php gespeichert.

Das bekomme ich beim Aufruf

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\xampp\htdocs\4.php on line 31
Fehler bei Abfrage bzw keine Daten
Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in D:\xampp\htdocs\4.php on line 65

Hätte ich noch etwas um-einstellen sollen?
 
bitte?

Die Tutorials lesen und so? Das mache ich ja schon seit Tagen, ich weiss halt nicht weiter.
ok, Entschuldigung, ich poste dann jetzt nicht mehr.
 
Sorry, aber wenn Du die Posts dann auch nicht ordentlich durchlesen kannst!

Benutze doch Dein Skript weiter, so wie Du es bisher hattest. Nur ab dem Select solltest Du das Ganze entsprechend meinem Skript anpassen.

Ich meine, wir versuchen Dir ja alle zu helfen. Aber ein kleines bisschen musst Du schon mitmachen. Hast ja selber schon festgestellt, dass Du nicht verlangen kannst, dass wir Dir Dein Skript schreiben.
 
Zurück