sql geld ophaalen

Status
Niet open voor verdere reacties.

helper66

Gebruiker
Lid geworden
23 sep 2013
Berichten
32
hallo

ik wil in php me geld ophalen.
nu heb ik dit:
Code:
$sql = "SELECT * FROM `userdata` where `username` = 'test' AND password = 'test'";
bekijken:
PHP:
$returngeld = $row['money'];
echo $returngeld;

maar dit werkt niet.
weet iemand de sql hoe dit wel werkt?

thanks
 
Wat dacht je ervan om even de hele code online te zetten?
Mijn glazen bol is namelijk even op vakantie, sorry!
 
PHP:
<?php 
require_once 'forum/loaddb.php'; 


if(isset($_GET['key']) and !empty($_GET['key'])){

if($_GET["key"] == "testcode"){

$sql = "SELECT * FROM `userdata` where `username` = 'test' AND password = 'test'";

if(!$res = mysql_query($sql))
{
    trigger_error(mysql_error().'<br />In query: '.$sql);
} 
$returngeld = $row['money'];
echo 'geld:';
echo $returngeld;
}
}

verbinden lukt,heb ik getest.
 
hoezoo

staat in mijn eerste post.
of bedoel je dat niet.
en die row komt uit mijn database.
 
Laatst bewerkt:
Je stelt in je code nergens $row in... Je kan niet uit het niets een var pakken. Heb je al eens eerder met sql en php dingen uit een dtb gehaald?
 
Dit is je nieuwe file:

PHP:
<?php 
require_once 'forum/loaddb.php'; 
 
 
if(isset($_GET['key']) and !empty($_GET['key'])){
 
if($_GET["key"] == "testcode"){
 
$sql = "SELECT * FROM `userdata` where `username` = 'test' AND password = 'test'";

if(!$res = mysql_query($sql))
{
    trigger_error(mysql_error().'<br />In query: '.$sql);
} 
while($row = mysql_fetch_array($sql)) {
    $returngeld = $row['money'];
    echo 'geld:';
    echo $returngeld;
}
}
}

Wat ik heb gedaan, ik heb een
PHP:
while($row = mysql_fetch_array($sql)) {
boven je
PHP:
$returngeld = $row['money'];
gezet en onder je
PHP:
echo $returngeld;
een
PHP:
}
gezet. nu kan hij $row wel vinden :)
 
Laatst bewerkt:
op php.net geeft ie als voorbeeld: $row["name"] met dubble quot, weet niet of het wat uitmaakt.

Maar je sql opdracht is gevaarlijk!
Als je bij invoer van een username bijv. krijgt "1' OR id='1' //" dan wordt je sql de volgende:
$sql = "SELECT * FROM `userdata` where `username` = '1' OR id='1' //' AND password = 'test'";
En je bent dus binnen zonder in te loggen.

In elk geval succes met je code.
 
op php.net geeft ie als voorbeeld: $row["name"] met dubble quot, weet niet of het wat uitmaakt.

Maar je sql opdracht is gevaarlijk!
Als je bij invoer van een username bijv. krijgt "1' OR id='1' //" dan wordt je sql de volgende:
$sql = "SELECT * FROM `userdata` where `username` = '1' OR id='1' //' AND password = 'test'";
En je bent dus binnen zonder in te loggen.

In elk geval succes met je code.

Dat klopt ook weer. Dan zou ik als hij een POST verstuurd (form) dan kan hij beter dit doen:

PHP:
<?php 
require_once 'forum/loaddb.php'; 
 
$username = $_POST['username'];
$password = $_POST['password'];
 
if(isset($_GET['key']) and !empty($_GET['key'])){
 
if($_GET["key"] == "testcode"){
 
$sql = "SELECT * FROM `userdata` where `username` = '".mysql_real_escape_string($username)."' AND password = '".mysql_real_escape_string($password)."'";
 
if(!$res = mysql_query($sql))
{
    trigger_error(mysql_error().'<br />In query: '.$sql);
} 
while($row = mysql_fetch_array($sql)) {
    $returngeld = $row['money'];
    echo 'geld:';
    echo $returngeld;
}
}
}

mysql_real_escape_string() zorgt ervoor dat je geen injecties kan doen. Dus is het 100% veilig om in te loggen. :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan