php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.04.2006, 08:25  
Gast
 
Beiträge: n/a
Standard Abrage aus MySQL Datenbank

Hi,

bin blutiger PHP Anfänger, hab schon die Suche benutzt aber nicht wirklich was gefunden.

Ich wollte erstmal ne Abfrage aus der ner vorhandenen Datenbank machen (Xampp MySQL, liegt also alles lokal). c:\programme\xampp\mysql\daten\psvw

Datenbank heißt: psvw
passwort: root
Kennwort: *keins*

Leider bringt er mir im Explorer nur "array[0]"... in den einzelnen Spalten der Tabelle. Fehlermeldung kommt keine


Code:
<html>
<head>
<title> Nummernkreis</title>
</head>
<body>
Nummerkreis



<table border=1 cellpadding="5">
<tr>
<td align="center"> Nummernkreis</td>
<td align="center"> Nummer</td>
<td align="center"> Kunde</td>
</tr>

<?php
include('../adodb/adodb.inc.php');
$cnn=&ADONewConnection('mysql');
$cnn->PConnect('localhost','root','','psvw');
 
$ergebnis=$cnn-> Execute("SELECT kunden_id FROM kunde where name like 'Becker'")
or die("Problem");

print "<tr><td>$ergebnis->fields[0]</td><td>$ergebnis->fields[1]</td><td>$ergebnis->fields[2]</tr>";
?>

</table>
</body>
</html>
der Select funktioniert in im PHPMyAdmin und in der cmd.
Die Abfrage aus meinem "Jetzt lerne ich PHP4" Buch funktioniert leider nicht, dort kennt er das "dbmopen" nicht. Und naja google, das Buch hat da nix geholfen. Klingt dumm ich weiß...

ist schwer da was zu lernen wenn überall was anderes steht wie ne Abfrage usw funktionieren soll
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.04.2006, 08:30  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Also ich muss leider sagen das ich deine Klasse nicht kenne die du benutzt und wenn da keine Fehlermeldung kommt ist das nciht gut ...

PHP-Code:
<?php
... or die(mysql_error()); 
?>
Wäre zumindest mal 'n Ansatz .. und "error_reporting(E_ALL);" auch

vllt probierst du's mal mit print_r($ergebnis);

M3g4Star ist offline  
Alt 19.04.2006, 08:36  
Gast
 
Beiträge: n/a
Standard

kommt leider trotzdem kein Fehler. Mit print_r($ergebnis);

bringt er zusätzlich

Code:
ADORecordSet_mysql Object ( [databaseType] => mysql [canSeek] => 1 [dataProvider] => native [fields] => Array ( [0] => 1002 [kunden_id] => 1002 ) [blobSize] => 100 [sql] => SELECT kunden_id FROM kunde where name like 'Becker' [EOF] => [emptyTimeStamp] =>   [emptyDate] =>   [debug] => [timeCreated] => 0 [bind] => [fetchMode] => 3 [connection] => ADODB_mysql Object ( [databaseType] => mysql [dataProvider] => mysql [hasInsertID] => 1 [hasAffectedRows] => 1 [metaTablesSQL] => SHOW TABLES [metaColumnsSQL] => SHOW COLUMNS FROM %s [fmtTimeStamp] => 'Y-m-d H:i:s' [hasLimit] => 1 [hasMoveFirst] => 1 [hasGenID] => 1 [isoDates] => 1 [sysDate] => CURDATE() [sysTimeStamp] => NOW() [hasTransactions] => [forceNewConnect] => [poorAffectedRows] => 1 [clientFlags] => 0 [substr] => substring [nameQuote] => ` [compat323] => [_genIDSQL] => update %s set id=LAST_INSERT_ID(id+1); [_genSeqSQL] => create table %s (id int not null) [_genSeq2SQL] => insert into %s values (%s) [_dropSeqSQL] => drop table %s [database] => psvw [host] => localhost [user] => root [password] => [debug] => [maxblobsize] => 262144 [concat_operator] => + [length] => length [random] => rand() [upperCase] => upper [fmtDate] => 'Y-m-d' [true] => 1 [false] => 0 [replaceQuote] => \' [charSet] => [metaDatabasesSQL] => [uniqueOrderBy] => [emptyDate] =>   [emptyTimeStamp] =>   [lastInsID] => [hasTop] => [readOnly] => [genID] => 0 [raiseErrorFn] => [cacheSecs] => 3600 [arrayClass] => ADORecordSet_array [noNullStrings] => [numCacheHits] => 0 [numCacheMisses] => 0 [pageExecuteCountRows] => 1 [uniqueSort] => [leftOuter] => [rightOuter] => [ansiOuter] => [autoRollback] => [fnExecute] => [fnCacheExecute] => [blobEncodeType] => [rsPrefix] => ADORecordSet_ [autoCommit] => 1 [transOff] => 0 [transCnt] => 0 [fetchMode] => [_oldRaiseFn] => [_transOK] => [_connectionID] => Resource id #6 [_errorMsg] => [_errorCode] => [_queryID] => Resource id #7 [_isPersistentConnection] => 1 [_bindInputArray] => [_evalAll] => [_affected] => [_logsql] => [databaseName] => psvw ) [_numOfRows] => 1 [_numOfFields] => 1 [_queryID] => Resource id #7 [_currentRow] => 0 [_closed] => [_inited] => 1 [_obj] => [_names] => [_currentPage] => -1 [_atFirstPage] => [_atLastPage] => [_lastPageNo] => -1 [_maxRecordCount] => 0 [datetime] => [adodbFetchMode] => 0 )

wie würdest du denn ne einfach Abfrage bauen ?
 
Alt 19.04.2006, 08:40  
Erfahrener Benutzer
 
Registriert seit: 17.01.2005
Beiträge: 227
Mirod
Standard

Hallo Blue82,

versuch mal folgendes:

PHP-Code:
<?php
error_reporting
(E_ALL);
mysql_connect('localhost''root''') or die("Connect zur DB hat nicht geklappt");
mysql_select_db('psvw') or die("Auswahl der Datenbank hat nicht geklappt");

$query mysql_query('SELECT kunden_id FROM kunde where name like "Becker"');
// Falls mind. 1 Zeile aus dem Select resultiert
if(mysql_num_rows() > 0) {
  while(
$row mysql_fetch_array($query)) {
    echo 
'<tr><td>'.$row['kunden_id'].'</td></tr>';
  }
} else {
  echo 
'Leider wurde keine Zeile gefunden';
}
?>
PS: Ungetestet ;>


Was passiert, wenn du das ausführen lässt?
Leider kenne ich, wie M3g4Star, auch deine verwendete Klasse nicht. :wink:

Gruss Mirod
Mirod ist offline  
Alt 19.04.2006, 08:56  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

@ blue

Wenn du dir den Quellcode der print_r() ausgabe anschaust ist das ganze nochmal ein wenig geordnet

Da hat man dann 'n besseren Überblick was deine Klasse überhaupt alles beinhaltet !
Ansonsten versuch einfahc mal 'ne normale mysql Abfrage (ohne Klasse) so wie von Mirod beschrieben .. jedoch würde ich die "ABFRAGE" so machen :

PHP-Code:
<?php 
error_reporting
(E_ALL);
mysql_connect('localhost''root''') or die("Connect zur DB hat nicht geklappt");
mysql_select_db('psvw') or die("Auswahl der Datenbank hat nicht geklappt"); 

$query mysql_query('SELECT kunden_id FROM kunde where name like "Becker"');
if (!
$query) {
   die(
'Ungültige Abfrage: ' mysql_error());
}

if(
mysql_num_rows($query) > 0) {
  while(
$row mysql_fetch_array($query)) {
    echo 
'<tr><td>'.$row['kunden_id'].'</td></tr>';
  }
} else {
  echo 
'Leider wurde keine Zeile gefunden';


?>
Oder so ähnlich zumindest ... Dann siehst erstmal ob deine Abfrage stimmt
M3g4Star ist offline  
Alt 19.04.2006, 08:57  
Gast
 
Beiträge: n/a
Standard

Hallo,

dann bringt er folgende Meldung

Code:
Warning: Wrong parameter count for mysql_num_rows() in C:\Programme\xampp\htdocs\test6.php on line 21
Leider wurde keine Zeile gefunden
hab das select mal geändert, funktioniert auch wieder in der cmd usw...nur hier mag er nit




Also funktioniert das mit dem Connect zur Datenbank immer so? Also vom Aufbau her?
Code:
<html>
<head>
<title> Nummernkreis</title>
</head>
<body>
Nummerkreis



<table border=1 cellpadding="5">
<tr>
<td align="center"> Nummernkreis</td>
<td align="center"> Nummer</td>
<td align="center"> Kunde</td>
</tr>
<?php 
error_reporting(E_ALL); 
mysql_connect('localhost', 'root', '') or die("Connect zur DB hat nicht geklappt"); 
mysql_select_db('psvw') or die("Auswahl der Datenbank hat nicht geklappt"); 

$query = mysql_query('SELECT * FROM kunde where kunden_id=1001'); 
// Falls mind. 1 Zeile aus dem Select resultiert 
if(mysql_num_rows() > 0) { 
  while($row = mysql_fetch_array($query)) { 
    echo '<tr><td>'.$row['kunden_id'].'</td></tr>'; 
  } 
} else { 
  echo 'Leider wurde keine Zeile gefunden'; 
} 
?>
</table>
</body>
</html>


Schonmal danke für die Hilfe
 
Alt 19.04.2006, 09:02  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Also um's mal richtig anzugehen ...

Du schriebst dir eine connect.php in die du deine verbindungsdaten rein schriebst
z.B. so:

PHP-Code:
<?php
//connect.php

/*
     Allgemeine Daten fuer die Datenbankanbindung
     und direkter Connect zur Datenbank. Nach
     Einbindung dieses Segments kann direkt mit
     MySQL-Befehlen auf die Datenbank zugegriffen
     werden.
*/

/* Datenbankserver - In der Regel die IP */
$db_server 'localhost';
/* Datenbankname */
$db_name 'meinedatenbank';
/* Datenbankuser */
$db_user 'username';
/* Datenbankpasswort */
$db_passwort 'passwort';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server$db_user$db_passwort)
   or die (
'Konnte keine Verbindung zur Datenbank herstellen');

$db_select = @mysql_select_db($db_name);

?>
Diese bindest du oben in der Datei ein wo du eine DB-Verbindung brauchst ...

Die Abfrage solltest du immer so oder so ähnlich gestallten wie wir#s beschrieben haben :

Lies dir bitte das mal durch :
http://faq-phpfriend.de/q/q-mysql-zugriff.html
und wenn du schon mal dabei bist schau dich dort gleich mal 'n bissl um .. dort steht eigentlich ALLES

M3g4Star ist offline  
Alt 19.04.2006, 09:15  
Erfahrener Benutzer
 
Registriert seit: 17.01.2005
Beiträge: 227
Mirod
Standard

Da ist mir doch tatsächlich nen Schnitzer passiert

Die Funktion mysql_num_rows benötigt ja noch die Ressource-Erkennung: http://php.benscom.com/manual/de/fun...l-num-rows.php

if(mysql_num_rows($query))....usw...

Desweiteren ist mir beim Select nen Fehler passiert:

Zitat:
$query = mysql_query('SELECT kunden_id FROM kunde where name like "Becker"');
Nun sollte es eigentlich klapen.
Mirod ist offline  
Alt 19.04.2006, 09:30  
Gast
 
Beiträge: n/a
Standard

Hey alles klar, funktioniert

vielen Dank, werd mich mal dran setzen
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
MySQL - Datenbank + Benutzer per Script anlegen? nicobischof PHP Tipps 2007 2 11.11.2005 19:41
Access Datenbank in MySQL Datenbank umwandeln karl Datenbanken 1 19.10.2005 17:04
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Adresse zur MySQL Datenbank Marian Datenbanken 4 10.08.2005 09:47
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
[Erledigt] datum in mysql datenbank! Datenbanken 7 09.07.2005 14:43
mysql datei in datenbank einspielen Datenbanken 6 20.06.2005 16:07
MySql Datenbank sichern Datenbanken 1 10.01.2005 20:19
Auslesen von Daten aus einer mysql Datenbank + Editieren vampsoftchef PHP Tipps 2004-2 5 15.11.2004 08:31
bin ich blöd???? Mysql Datenbank Passwort becks123 Datenbanken 3 29.10.2004 14:11
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
auf adorecordset_mysql zugreifen, adorecordset_mysql object feld ansprechne, adorecordset_mysql object umwandeln, mysql_num_rows(resource id #7), mysql like incorrect date value:, mysql fehler auslesen datenbank \resource id #6\, in mysql -u root -p table abfragen in cmd, abrage

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:50 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.