Sponsor-Board.de
Thema geschlossen  Thema schreiben 
 Seiten (2): « Erste 1 2 Nächste > Letzte »

  1 Bewertungen - 5 im Durchschnitt [MySQL] PHP gibt nur "Array" aus

Verfasser Nachricht

Beiträge: 124
Bewertung: 1
Registriert seit: Dec 2011
Status: offline


Beitrag: #1
[MySQL] PHP gibt nur "Array" aus

Hallo liebes SB!

Ich versuche gerade mit PHP auf meine Datenbank, wo verschiedener Keys gespeichert sind, zuzugreifen und auf gültigkeit zu überprüfen.

PHP-Code:
<?php
@mysql_connect(ServerBenutzerPasswort);
@
mysql_select_db(keys);
$serial $_POST['Key'];
$sql "SELECT COUNT(*) FROM testprodukt WHERE serial = '{$serial}'";
$result mysql_query($sql);
echo 
mysql_error();
$test mysql_fetch_row($result);
if (
mysql_fetch_row($result) == 0)
 {
  echo
"Dieser Key ist ungültig!SQL: $sql | $result | $test | $serial";
  echo 
mysql_error();
  
 }
 else
 {
  
$used "SELECT used FROM testprodukt WHERE serial = '{$serial}'";
  
$ergebnis mysql_query($used);
  if (
mysql_fetch_row($ergebnis) == 1)
  {

   echo 
'Dieser key wurde bereits benutzt!';
  }
  else
  {
    echo
"Danke, dass du 'TestProdukt' gekauft, und aktiviert hast! SQL: $sql | $result | $serial";
    echo 
mysql_error();
    
mysql_query("UPDATE testprodukt SET used = 1 WHERE serial = '{$serial}'");
    
mysql_query("UPDATE testprodukt SET date_activated = NOW() WHERE serial = '{$serial}'");
   }
 } 


Die Keyeingabe erfolgt über eine einfache HTML Seite.

Nun habe ich aber das Problem, dass MySQL als Antwort auf die Frage "schon vorhanden?", "Array" ausgibt.
Eigentlich sollte es 1 für "Schon vorhanden" oder 0 für "Nicht vorhanden" antworten...

Ich hoffe ihr könnt mir helfen...

PS: Für denjenigen, der mir dieses Problem löst, warten 300 SB-Punkte.

Danke für eure Antworten!


L.G.
MMS3 Admin
Steam & Skype: TerraBAS ッ
___________________________________________________

[Link: Registrierung erforderlich]

Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2013 08:25 von MMS3 Admin.

29.07.2013 08:23
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden

Beiträge: 3.413
Bewertung: 33
Registriert seit: Oct 2010
Status: offline


Beitrag: #2
RE: [MySQL] PHP gibt nur "Array" aus.

anstatt "mysql_fetch_row" nimm mal "mysql_num_rows"


Portfolio: [Link: Registrierung erforderlich]

Projekte
[Link: Registrierung erforderlich]
[Link: Registrierung erforderlich]

29.07.2013 08:27
 
Alle Beiträge dieses Benutzers finden

Beiträge: 124
Bewertung: 1
Registriert seit: Dec 2011
Status: offline


Beitrag: #3
RE: [MySQL] PHP gibt nur "Array" aus.

Aaron schrieb:
anstatt "mysql_fetch_row" nimm mal "mysql_num_rows"

Schon probiert...

Leider antwortet MySQL dann mit "Resource id #3"


L.G.
MMS3 Admin
Steam & Skype: TerraBAS ッ
___________________________________________________

[Link: Registrierung erforderlich]

29.07.2013 08:29
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden

Beiträge: 3.413
Bewertung: 33
Registriert seit: Oct 2010
Status: offline


Beitrag: #4
RE: [MySQL] PHP gibt nur "Array" aus

<?php
mysql_connect(Server, Benutzer, Passwort);
mysql_select_db(keys);

$serial = mysql_real_escape_string($_POST['Key']);

$sql = "SELECT * FROM testprodukt WHERE serial = '".$serial."'";
$result = mysql_query($sql);
echo mysql_error();
$test = mysql_fetch_row($result);
if(mysql_num_rows($result) <= 1)
{
echo"Dieser Key ist ungültig!SQL: $sql | $result | $test | $serial";
echo mysql_error();

}
else
{
$used = "SELECT used FROM testprodukt WHERE serial = '".$serial."'";
$ergebnis = mysql_query($used);
if (mysql_num_rows($ergebnis) >= 1)
{

echo 'Dieser key wurde bereits benutzt!';
}
else
{
echo"Danke, dass du 'TestProdukt' gekauft, und aktiviert hast! SQL: $sql | $result | $serial";
echo mysql_error();
mysql_query("UPDATE testprodukt SET used = 1 WHERE serial = '".$serial}."'");
mysql_query("UPDATE testprodukt SET date_activated = NOW() WHERE serial = '".$serial}."'");
}
}


Portfolio: [Link: Registrierung erforderlich]

Projekte
[Link: Registrierung erforderlich]
[Link: Registrierung erforderlich]

29.07.2013 08:48
 
Alle Beiträge dieses Benutzers finden

Beiträge: 1.545
Bewertung: 62
Registriert seit: Jan 2011
Status: offline


Beitrag: #5
RE: [MySQL] PHP gibt nur "Array" aus

Hallo MMS3 Admin,

ich hoffe, dass dir bewusste ist dass folgender Teilabschnitt nicht funktionieren kann.

PHP-Code:
if (mysql_fetch_row($ergebnis) == 1)
  {

   echo 
'Dieser key wurde bereits benutzt!';
  } 


Du kannst eine Arrayabfrage (mysql_fetch_row) nicht mit einem "==" (und numerischer Wert) Operand abfragen - das Statement

PHP-Code:
if (count(mysql_fetch_row($ergebnis)) == 1)
  {

   echo 
'Dieser key wurde bereits benutzt!';
  } 


könnte an dieser Selle funktionieren - oder

PHP-Code:
if (mysql_num_rows($ergebnis) == 1)
  {

   echo 
'Dieser key wurde bereits benutzt!';
  } 


kann hier funktionieren. ([Link: Registrierung erforderlich] --> Rückgabewert)


---------------------------
[Link: Registrierung erforderlich] | [Link: Registrierung erforderlich]

Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2013 08:53 von DebianDEV.

29.07.2013 08:50
 
Alle Beiträge dieses Benutzers finden

Beiträge: 2.492
Bewertung: 29
Registriert seit: Jul 2010
Status: offline


Beitrag: #6
RE: [MySQL] PHP gibt nur "Array" aus

Alternativ zu 0, 1 etc versuch doch mal true und false.


Mit freundlichen Grüßen / Best Regards
Julian Weiler | Geschäftsführender Gesellschafter

[Link: Registrierung erforderlich] ist außerdem bei [Link: Registrierung erforderlich], [Link: Registrierung erforderlich] und [Link: Registrierung erforderlich]

Telefon: +49 (0) 67 74 / 20 49 520
Fax: +49 (0) 67 74 / 20 49 520 9
E-Mail: [Mail: Registrierung erforderlich]

29.07.2013 08:52
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden

Beiträge: 124
Bewertung: 1
Registriert seit: Dec 2011
Status: offline


Beitrag: #7
RE: [MySQL] PHP gibt nur "Array" aus

@Aron: Serverfehler... Kann das Script so leider nicht testen.

@Ultimate-Servers: Gleicher Fehler... "Resource id #3"

@Storage-Base.de: Glaube das MySQL nur 1,0 als True, False annimmt.


L.G.
MMS3 Admin
Steam & Skype: TerraBAS ッ
___________________________________________________

[Link: Registrierung erforderlich]

29.07.2013 08:57
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden

Beiträge: 3.413
Bewertung: 33
Registriert seit: Oct 2010
Status: offline


Beitrag: #8
RE: [MySQL] PHP gibt nur "Array" aus

kann sein, habs hier im Editor geschrieben Biggrin

poste doch mal das von dir korrigierte Script.. mit mysql_num_rows


Portfolio: [Link: Registrierung erforderlich]

Projekte
[Link: Registrierung erforderlich]
[Link: Registrierung erforderlich]

29.07.2013 09:00
 
Alle Beiträge dieses Benutzers finden

Beiträge: 124
Bewertung: 1
Registriert seit: Dec 2011
Status: offline


Beitrag: #9
RE: [MySQL] PHP gibt nur "Array" aus

PHP-Code:
<?php
@mysql_connect(ServerBenutzerPW);
@
mysql_select_db(keys);
$serial $_POST['Key'];
$sql "SELECT COUNT(*) FROM testprodukt WHERE serial = '{$serial}'";
$result mysql_query($sql);
echo 
mysql_error();
$test mysql_fetch_row($result); //Dient als Fehlerausgabe
if (mysql_num_rows($result) == 0
 {
  echo
"Dieser Key ist ungültig!SQL: $sql | $result | $test | $serial";
  echo 
mysql_error();
  
 }
 else
 {
  
$used "SELECT used FROM testprodukt WHERE serial = '{$serial}'";
  
$ergebnis mysql_query($used);
  if (
mysql_num_rows($ergebnis) == 1)
  {

   echo 
'Dieser key wurde bereits benutzt!';
  }
  else
  {
    echo
"Danke, dass du 'TestProdukt' gekauft, und aktiviert hast! SQL: $sql | $result | $serial";
    echo 
mysql_error();
    
mysql_query("UPDATE testprodukt SET used = 1 WHERE serial = '{$serial}'");
    
mysql_query("UPDATE testprodukt SET date_activated = NOW() WHERE serial = '{$serial}'");
   }
 } 


Komisch ist außerdem:
Gebe ich nun einen validen key ein, so meldet er, er sei schon benutzt. Gebe ich einen Ungültigen ein, meldet er:

PHP-Code:
Dankedass du 'TestProdukt' gekauftund aktiviert hastSQLSELECT COUNT(*) FROM testprodukt WHERE serial 'GZ30-WVG-FIES-35WQ' Resource id #3 | GZ30-WVG-FIES-35WQ 


L.G.
MMS3 Admin
Steam & Skype: TerraBAS ッ
___________________________________________________

[Link: Registrierung erforderlich]

Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2013 09:09 von MMS3 Admin.

29.07.2013 09:02
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden

Beiträge: 2.492
Bewertung: 29
Registriert seit: Jul 2010
Status: offline


Beitrag: #10
RE: [MySQL] PHP gibt nur "Array" aus

PHP-Code:
<?php
@mysql_connect(ServerBenutzerPW);
@
mysql_select_db(keys);

$serial $_POST['Key'];
$sql "SELECT `id` FROM `testprodukt` WHERE BINARY `serial` = '$serial'";
$result mysql_query($sql) OR die(mysql_error());


if (!
mysql_num_rows($result)) 
 {
  echo
"Dieser Key ist ungültig!SQL: $sql | $result | $test | $serial";
  echo 
mysql_error();
  
 }
 else
 {
  
$used "SELECT `id` FROM `testprodukt` WHERE BINARY `serial` = '$serial' AND `used` = 1";
  
$ergebnis mysql_query($used);
  if (
mysql_num_rows($ergebnis))
  {

   echo 
'Dieser key wurde bereits benutzt!';
  }
  else
  {
    echo
"Danke, dass du 'TestProdukt' gekauft, und aktiviert hast! SQL: $sql | $result | $serial";
    echo 
mysql_error();
    
mysql_query("UPDATE testprodukt SET used = 1 WHERE serial = '{$serial}'");
    
mysql_query("UPDATE testprodukt SET date_activated = NOW() WHERE serial = '{$serial}'");
   }
 } 


So würde ich es mal versuchen.

Dein Problem:

PHP-Code:
$sql "SELECT COUNT(*) FROM testprodukt WHERE serial = '{$serial}'"

Du zählst es dann machst du:

PHP-Code:
if (mysql_num_rows($result) == 0

Du willst damit die Datensätze zählen, was vermutlich aber nicht klappt da ja bereits gezählt wurde.

Auch solltest du für den Code BINARY nutzen, die Angabe sorgt nämlich dafür dass der Code Case Sensitive ist.

Ich habe auch solche Dinge wie "== 1" durch einfach "if(mysql_query())" bzw "if(!mysql_query())" ersetzt.

//EDIT:

Habs mal selbst geschrieben - das wäre meine Vorstellung von dem Code:

PHP-Code:
<?php
//Datenbank Verbindung herstelle
@mysql_connect(ServerBenutzerPW);
@
mysql_select_db(keys);

//POST filtern
$serial mysql_real_escape_string($_POST["key"]);

//Abfrage aufbauen
$sql mysql_query("SELECT `id` FROM `testprodukt` WHERE BINARY `serial` = '$serial'") OR die(mysql_error());

//Abfragen ob Key vorhanden
if(!mysql_num_rows($sql)) {

    echo 
'Key ungültig';

//Wenn vorhanden
} else {

    
//Abfragen ob bereits genutzt
    
$used mysql_query("SELECT `id` FROM `testprodukt` WHERE BINARY `serial` = '$serial' AND `used` = '1'");
    if(
mysql_num_rows($used)) {

        echo 
'Wurde bereits benutzt';

    
//Wenn nicht
    
} else {

        
//Daten Updaten und Meldung aufgeben        
        
if(mysql_query("UPDATE `testprodukt` SET `used` = '1', `date_activated` = NOW() WHERE BINARY `serial` = '$serial'")) {

            echo 
'vielen Dank!';

        
//Wenn Fehler bei Update
        
} else {

            echo 
'Der Code konnte leider nicht aktiviert werden';

        }

    }



Mit freundlichen Grüßen / Best Regards
Julian Weiler | Geschäftsführender Gesellschafter

[Link: Registrierung erforderlich] ist außerdem bei [Link: Registrierung erforderlich], [Link: Registrierung erforderlich] und [Link: Registrierung erforderlich]

Telefon: +49 (0) 67 74 / 20 49 520
Fax: +49 (0) 67 74 / 20 49 520 9
E-Mail: [Mail: Registrierung erforderlich]

Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2013 10:01 von Storage-Base.de.

29.07.2013 09:54
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Thema geschlossen  Thema schreiben 
 Seiten (2): « Erste 1 2 Nächste > Letzte »

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  PHP Formular in Mysql spela 1 1.927 19.06.2018 11:09
Letzter Beitrag: Jerr0w
Question PHP+MySQL hilfe benötigt z0ckyZockt 4 1.735 13.07.2016 17:03
Letzter Beitrag: push
  bilder in MySQL Speichern Garfield200508 3 2.324 17.03.2016 06:47
Letzter Beitrag: kRONOS
  Psychokiller, MySQL Magnon.eu 0 1.500 04.12.2015 17:37
Letzter Beitrag: Magnon.eu
  [H] MySQL / MySQLi - Ouli.CMS bazza 3 2.288 30.09.2015 12:55
Letzter Beitrag: T-I-M

 Druckversion anzeigen
 Thema einem Freund senden
 Thema abonnieren
 Thema zu den Favoriten hinzufügen

Sponsor-Board.de

Community
Über uns
Partner
Powered by Mybb: Copyright 2002-2024 by MyBB Group - Deutsche-Übersetzung von Mybb.de
 
© 2007-2024 Sponsor-Board.de - Hosted by OVH

Willkommen auf SB!   Sie benötigen ein Sponsoring?   1. Anmelden   2. Sponsoring-Anfrage erstellen   3. Nachrichten von Sponsoren erhalten   Kostenlos!   Jetzt registrieren