php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 16-07-2010, 11:32
FoLLoW_M3
 Registrierter Benutzer
Links : Onlinestatus : FoLLoW_M3 ist offline
Registriert seit: Jul 2010
Beiträge: 6
FoLLoW_M3 befindet sich auf einem aufstrebenden Ast
Standard MySQL Datenbank auslesen via PHP

Hallo liebe Community,

ich versuche gerade eine MySQL-Tabelle mit PHP auszulesen, allerdings spuckt das Ganze nichts aus...
Vielleicht könnt ihr mir auf die Sprünge helfen, manchmal sieht man ja bekannterweise den Wald vor lauter Bäumen nicht - danke schonmal!

Hier der Inhalt der index.php:

PHP-Code:
<?php
$db 
= @new mysqli('***''***''***''***');
if (
mysqli_connect_errno()) {
    die (
'Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
}
$sql 'SELECT *
FROM
    users'
;
$result $db->query($sql);
if (!
$result) {
    die (
'Etwas stimmte mit dem Query nicht: '.$db->error);
}
echo 
'Die Ergebnistabelle besitzt '.$result->num_rows." Datensätze<br />\n";
?>
Auch mit dem Folgenden habe ich es probiert:
PHP-Code:
<?php
$db 
= @new mysqli('***''***''***''***');
if (
mysqli_connect_errno()) {
    die (
'Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
}
$sql 'SELECT
   *UserID,
    UserName,
    UserMail
FROM
    users'
;
$result $db->query($sql);
if (!
$result) {
    die (
'Etwas stimmte mit dem Query nicht: '.$db->error);
}
echo 
'Die Ergebnistabelle besitzt '.$result->num_rows." Datensätze<br />\n";
?>
Das einzige Ergebnis ist dies:
"Die Ergebnistabelle besitzt 1 Datensätze"

LG
Mit Zitat antworten
  #2 (permalink)  
Alt 16-07-2010, 11:34
streuner
 Registrierter Benutzer
Links : Onlinestatus : streuner ist offline
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 623
streuner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi.

Mit num_rows fragst Du ja auch die Anzahl ab. Hier siehst Du, wie du mit mysli_query arbeitest:

PHP: mysqli::query - Manual

und

PHP: mysqli_result::fetch_array - Manual

streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Mit Zitat antworten
  #3 (permalink)  
Alt 21-07-2010, 09:36
FoLLoW_M3
 Registrierter Benutzer
Links : Onlinestatus : FoLLoW_M3 ist offline
Registriert seit: Jul 2010
Beiträge: 6
FoLLoW_M3 befindet sich auf einem aufstrebenden Ast
Standard

Danke für Deine Hilfe, das habe ich nun hingekriegt.

Aber jetzt habe ich noch ein anderes Problem, bei dem ich noch keine Lösung gefunden habe.

Ich möchte für einen Adminbereich die Zugangsberechtigung so ändern, dass nur der User mit der UserID=1 diesen aufrufen kann. Folgdendes habe ich probiert:

PHP-Code:
if ($userid 1) {

    
Header("Location: login.php");
    exit(); 

Die Variable ist definiert, der Nutzer mit userid=1 auch vorhanden, aber auch userid=2 hat Zugang - funktioniert das überhaupt so, wie ich es mir vorstelle?

Bin für jeden Tipp / jede Hilfe / jeden Link dankbar!

LG
Mit Zitat antworten
  #4 (permalink)  
Alt 21-07-2010, 09:50
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

du musst zwischen Vergleich und Zuweisung streng unterscheiden.
PHP-Code:
$userid 
setzt den Inhalt der Variable auf 1.
PHP-Code:
$userid == 
dagegen vergleicht die beiden Werte

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #5 (permalink)  
Alt 21-07-2010, 10:18
FoLLoW_M3
 Registrierter Benutzer
Links : Onlinestatus : FoLLoW_M3 ist offline
Registriert seit: Jul 2010
Beiträge: 6
FoLLoW_M3 befindet sich auf einem aufstrebenden Ast
Standard

Stimmt, darüber habe ich mir schon Gedanken gemacht, aber auch mit

PHP-Code:
$userid == 


hat userid=2 Zugriff. Der Fehler muss also woanders liegen.

Hier mal der obere Teil aus meiner index.php

PHP-Code:
<?php
session_start
();

        
$db_link mysql_connect ("localhost""root""");

        
$db_sel mysql_select_db"gld" )
           or die(
"Auswahl der Datenbank fehlgeschlagen");    

           
$sql "SELECT UserID
            FROM users
            WHERE UserSession='"
.session_id()."'";
           
$db_erg mysql_query$sql );
            if ( ! 
$db_erg )
            {
                  die(
'Ungültige Abfrage: ' mysql_error());
            }
           while (
$zeile mysql_fetch_array$db_ergMYSQL_ASSOC))
        {
                
$userid $zeile['UserID'];
        }
    echo
"<p />";
    
if(
$userid == 1) {

    
Header("Location: login.php");
    exit(); 

else {
Das geht sicherlich auch schöner... Habe ich da vielleicht einen Denkfehler??

Danke
Mit Zitat antworten
  #6 (permalink)  
Alt 21-07-2010, 10:50
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Warum speicherst du die User ID nicht einfach in der Session? Wozu der Umweg über die Datenbank?
Mit Zitat antworten
  #7 (permalink)  
Alt 21-07-2010, 13:59
FoLLoW_M3
 Registrierter Benutzer
Links : Onlinestatus : FoLLoW_M3 ist offline
Registriert seit: Jul 2010
Beiträge: 6
FoLLoW_M3 befindet sich auf einem aufstrebenden Ast
Standard

@h3ll
Ich habe die Variable nun in der Session gespeichert, aber trotzdem erfolgt keine Änderung.

Mit
PHP-Code:
<?php echo $userid ?>
wird mir die korrekte ID angezeigt, doch die Abfrage

PHP-Code:
if ($userid == 1) {

    
Header("Location: login.php");
    exit(); 

liefert nicht das, was sie soll, eben dass man mit ID=2 nicht durch kommt.

Noch jemand Lösungsansätze für mich?
Mit Zitat antworten
  #8 (permalink)  
Alt 21-07-2010, 14:03
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Dein Code sagt, dass User mit der ID 1 auf login.php weitergeleitet werden. Mal davon abgesehen, dass du keine absolute URL angibst (was nämlich falsch ist), ist das so korrekt?
Mit Zitat antworten
  #9 (permalink)  
Alt 21-07-2010, 14:11
FoLLoW_M3
 Registrierter Benutzer
Links : Onlinestatus : FoLLoW_M3 ist offline
Registriert seit: Jul 2010
Beiträge: 6
FoLLoW_M3 befindet sich auf einem aufstrebenden Ast
Standard

Danke, das war wohl der entscheidende Hinweis. Ich habe die Abfrage falsch herum gestellt, sodass jeder den Inhalt sehen konnte. Was mich dabei allerdings wundert, auch mit ID=1 wurde alles angezeigt?

Nunja, danke ^^ Ich sollte einfach die Augen genauer aufmachen =)
Mit Zitat antworten
  #10 (permalink)  
Alt 28-07-2010, 09:51
FoLLoW_M3
 Registrierter Benutzer
Links : Onlinestatus : FoLLoW_M3 ist offline
Registriert seit: Jul 2010
Beiträge: 6
FoLLoW_M3 befindet sich auf einem aufstrebenden Ast
Standard

Ich brauche nochmal Eure Hilfe.

Und zwar möchte ich die ausgelesenen Tabellen der MySQL-Datenbank per PHP bearbeiten. Folgendes habe ich mir überlegt:

- jede Zeile erhält eine Checkbox und am Ende kann man alle markierten Datensätze "bearbeiten" also einer UserID zuordnen

Dazu dieser Code:

PHP-Code:
echo '<table border="0" width="100%">';
  echo 
"<tr>";
  echo 
"<td><b>Auswahl</b></td>";
  echo 
"<td><b>IP</b></td>";
  echo 
"<td><b>Absender</b></td>";
  echo 
"<td><b>Empfänger</b></td>";
  echo 
"<td><b>Erste</b></td>";
  echo 
"<td><b>Letzte</b></td>";
  echo 
"<td><b>Anzahl</b></td>";
  echo 
"</tr>";
  echo 
"<tr>";
 
  while (
$zeile mysql_fetch_array$db_ergMYSQL_ASSOC))
{
  echo 
"<td><form method='POST' action='zuordnen.php'>
          <input type='checkbox' name='zuordnen[]' value='an'></td>"
;
  echo 
"<td>"$zeile['ip'] . "</td>";
  echo 
"<td>"$zeile['sender'] . "</td>";
  echo 
"<td>"$zeile['recipient'] . "</td>";
  echo 
"<td>"$zeile['first'] . "</td>";
  echo 
"<td>"$zeile['last'] . "</td>";
  echo 
"<td>"$zeile['n'] . "</td>";
  echo 
"<td>"$zeile['UserID'] . "</td>";
  echo 
"</tr>";
}

echo 
"</table>";
echo 
"Auswahl der UserID ";
echo 
"<input type='text' name='UserID' value='Userid eintragen' />"
"<input type='submit' name='Submit' value='zuordnen' /></form>";

echo 
"<p />"
Und die zuordnen.php:

PHP-Code:
if (!isset ($_POST['zuordnen'])) $_POST['zuordnen']= "an";
    
{
      
    
mysql_query("UPDATE ***
                  SET UserID='"
.$_POST['UserID']."' ");

*** wurden eingefügt

Was liefert ".print_r( $_POST, true )."?
PHP-Code:
Array
(
    [
zuordnen] => Array
        (
            [
0] => an
            
[1] => an
        
)

    [
UserID] => 2
    
[Submit] => zuordnen

Ich habe die ersten beiden Datensätze ausgewählt, aber überall wird die "UserID" auf 2 geändert. Wenn ich keinen Datensatz auswähle, passiert nichts.

Ich komme nicht wirklich weiter... Vielleicht kann mir nochmal jemand auf die Sprünge helfen.
Danke
Mit Zitat antworten
  #11 (permalink)  
Alt 28-07-2010, 10:24
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Gib im Formular bei
Code:
name='zuordnen[]'
mal die ID des Eintrags als Index an, nach dem Absenden aktualisierst du alle Datensätze, die den übergebenen IDs entsprechen. Dazu durchläufst du das zuordnen-Array, packst alle IDs ein eigenes Array und kannst dann bei der WHERE-Klausel 'WHERE id IN (...)' verwenden.

Dass momentan alle Datensätze geändert werden, liegt schlicht daran, dass du in der UPDATE-Anweisung keine Bedingung angibst ...
__________________
Die Zeit hat ihre Kinder längst gefressen: hund (back in black) | ??? | ??? | ...
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mysql datenbank einträge auslesen und in statische HTML .... Marcus24 PHP Developer Forum 7 19-09-2005 22:45
Auslesen von Datensätzen von einer MySQL-Datenbank auf eine PHP. Lena123 PHP Developer Forum 11 14-04-2005 11:49
Bilder aus einer MySQL Datenbank auslesen BlackCrow PHP Developer Forum 8 29-11-2004 19:51
Größer eine Zeile in der MySQL Datenbank auslesen GeaZor PHP Developer Forum 3 22-12-2003 20:14
Username aus mysql datenbank auslesen Caine SQL / Datenbanken 2 19-07-2002 21:37

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:37 Uhr.