php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 11-05-2014, 19:56
Ticky
 Registrierter Benutzer
Links : Onlinestatus : Ticky ist offline
Registriert seit: May 2014
Beiträge: 1
Ticky befindet sich auf einem aufstrebenden Ast
Standard Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in

Hallo ich habe ein Problem bei einem Browsergame

PHP-Code:

if(isset($_POST['regabschicken']))

{
$name = $_POST['username'];
$email = $_POST['email'];
$passwort = $_POST['passwort'];
$passwort2 = $_POST['passwort2'];

$pass = md5($passwort);

if($name && $email && $passwort && $passwort2)
{
if($passwort==$passwort2)
{

include('connect.php');

$abfrage = mysql_query("SELECT * FROM spieler WHERE email='$email'");

$numrows = mysql_num_rows($abfrage);

if($numrows == 0){
mysql_query("INSERT INTO Spieler
VALUES('','$name','$pass','$email','1','0')");

Wenn ich mich anmelden oder registrieren will kommt das :Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in

ich hoffe mir kann jemand helfen ^^
Mit Zitat antworten
  #2 (permalink)  
Alt 11-05-2014, 20:14
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Du hast eine riesige Sicherheitslücke. Werte, die SQL-Abfragen eingefügt werden, müssen immer escaped werden! Außerdem sind die mysql_* Funktionen veraltet und werden bald aus PHP entfernt. Verwende stattdessen mysqli oder PDO.

Zu deiner Frage: Bei dir fehlt die Fehlerbehandlung. Du prüfst überhaupt nicht, ob die Abfrage überhaupt erfolgreich war, sondern du gehst einfach davon aus. Würdest du den Fehler behandeln, würdest du auch die Fehlermeldung sehen, die dir MySQL versucht zu schicken.
Mit Zitat antworten
  #3 (permalink)  
Alt 12-05-2014, 08:45
Nils81
 Registrierter Benutzer
Links : Onlinestatus : Nils81 ist offline
Registriert seit: May 2014
Beiträge: 18
Nils81 befindet sich auf einem aufstrebenden Ast
Standard

Versuch mal
if(mysql_num_rows($abfrage) == 0 )
{
insert into spieler ( die jeweiligen Spalten in denen ein Wert eingetragen werden soll, getrennt durch "," )
values('$name','$pass', usw.)
}

/*zb. insert onto spieler(name, passwort, blablub) values ('$name','$pass', $wert für blablub)*/

aber wie der vorredner schon geschrieben hat, lass deine übergebenen werte vorher noch durch ein escape laufen

zb. $name=mysql_real_escape_string($_POST["username"]);


Hier mal eine Version wie ich sie in meinem Projekt untergebracht habe:

erst die abfrage:
$firmenabfrage = "select firmenname from user where firmenname = "."'". mysql_real_escape_string($_POST["firma"]) ."'";
$abfrage = mysql_query($firmenabfrage);
if(mysql_num_rows($abfrage) > 0)
{
echo "Dieser Firmenname ist schon vergeben</p>";
print "<form name='zurück' action='reg_gew.html' method = 'post'>";
print "<input type = 'submit' value='Zur Eingabe zurueck'/>";
exit;
}
falls abfrage == 0 ist :
else
$wandel=$_POST["name"];
$fl1=ucfirst($wandel);
$wandel=$_POST["vname"];
$fl2=ucfirst($wandel);
$wandel=$_POST["strasse"];
$fl3=ucfirst($wandel);
$wandel=$_POST["wohnort"];
$fl4=ucfirst($wandel);
$wandel=$_POST["inhaber"];
$fl5=ucfirst($wandel);
$wandel=$_POST["firma"];
$fl6=ucfirst($wandel);
{
$sql = "insert into user"
. "(firmenname ,firmeninhaber, name, vorname, strasse, wohnort, telefon, fax, mail_adresse,homepage, passwort, passwort_original, twitter, google, facebook, plz, status, reg_datum) values"
. "('". mysql_real_escape_string($fl6) ."', "
. "'" . mysql_real_escape_string($fl5) . "', "
. "'" . mysql_real_escape_string($fl1) . "', "
. "'" . mysql_real_escape_string($fl2) . "', "
. "'" . mysql_real_escape_string($fl3) . "', "
. "'" . mysql_real_escape_string($fl4) . "', "
. "'" . mysql_real_escape_string($_POST["tele"]) . "', "
. "'" . mysql_real_escape_string($_POST["fax"]) . "', "
. "'" . mysql_real_escape_string($_POST["mail_adresse"]) . "', "
. "'" . mysql_real_escape_string($_POST["page"]) . "', "
. "'" . $key . "' , "
. "'" . mysql_real_escape_string($_POST["password"]) . "',"
. "'" . mysql_real_escape_string($_POST["twitter"]) . "' , "
. "'" . mysql_real_escape_string($_POST["google+"]) . "' , "
. "'" . mysql_real_escape_string($_POST["facebook"]) . "' , "
. "'" . mysql_real_escape_string($_POST["plz"]) . "',"
. "'" . "gewerblich" . "' ,"
. "'" . $reg_date . "')";
mysql_query($sql);

Geändert von Nils81 (12-05-2014 um 09:00 Uhr)
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
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in... Zion SQL / Datenbanken 6 07-11-2012 13:27
[gelöst] mysql_num_rows() expects parameter 1 Skywalker077 SQL / Datenbanken 7 13-10-2009 22:58
Warning: date() expects parameter 2 to be long, object given pascal007 PHP Developer Forum 6 25-02-2009 09:46
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in slzoom SQL / Datenbanken 18 10-07-2008 01:54
ftp_login() expects parameter 1 to be resource, boolean given reuab PHP Developer Forum 9 18-10-2004 22:13

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 17:20 Uhr.