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

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

EJS TreeGrid ansehen EJS TreeGrid

EJS TreeGrid is DHTML component written in pure JavaScript to display and edit data in table, grid, tree view or grid with tree on HTML page

09.04.2019 coqsoft@ | Kategorie: JAVASCRIPT/ Components
Suchmaschine redaktionell, Branchenportal zum Geld verdienen

Programmbeschreibung Die Bezahl-Suchmaschine ist in Perl und PHP programmiert (eigenes CGI-Verzeichnis notwendig), benötigt PHP aber keine MySQL-Datenbank. Webmaster haben mit dieser Suchmaschine neben der normalen kostenlosen Registrierung von Lin

06.04.2019 skripte@ | Kategorie: PHP/ Suchmaschinen
Oog Photo-Video-Gallery

Mit Oog Photo-Gallery können Sie einfach und stilvoll Bilder (auch Video & Audio) auf Ihrem PHP5-Webserver veröffentlichen und verwalten. Lizenz: GNU GPL v2

06.04.2019 trottbrand@ | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:17 Uhr.