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.650
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.650
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
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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

Plates native PHP template system

Plates ist ein natives PHP-Vorlagensystem, das schnell, einfach zu verwenden und einfach zu erweitern ist.

24.05.2019 Berni | Kategorie: PHP/ Framework
Maqetta Open Source  HTML5-Editor ansehen Maqetta Open Source HTML5-Editor

Einen WYSIWYG-Editor zur visuellen Erstellung von Userinterfaces in HTML5 (Drag-and-Drop)

13.05.2019 Berni | Kategorie: HTML5/ EDITOR
NodeBB

NodeBB ist eine Foren-Software auf NodeJS-Basis

13.05.2019 Berni | Kategorie: PHP/ Forum PHP Software
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:27 Uhr.