Hoe moet ik de selectie (MySQL) juist aanpakken?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 volgende »

John De Zon

John De Zon

15/07/2014 11:16:45
Quote Anchor link
Op welke plaats moet ik dit invoegen in mijn code?
 
PHP hulp

PHP hulp

24/11/2024 16:27:13
 
Ivo P

Ivo P

15/07/2014 11:18:06
Quote Anchor link
ergens tussen de plek waar de query definieert en de plek waar je het resultaat van de query nodig hebt
 
John De Zon

John De Zon

15/07/2014 11:19:56
Quote Anchor link
Nu dit:

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/u837763209/public_html/business_life.php on line 5

Warning: mysql_num_rows() expects parameter 1 to be resource, string given in /home/u837763209/public_html/business_life.php on line 9

Code

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
include 'config/mysql.php';
if(isset($_SESSION['userName'])) {
$query = "SELECT * FROM logins WHERE userName = '$username' AND business_life = 0";
$result = mysql_query($connectie, $query);
if($result === false) {
  echo 'een fout met '.$query .'<br>'.mysql_error($connectie);
}

if (mysql_num_rows($query)==true) {
//Pagina wanneer 0
?>

<!DOCTYPE html>
<html>
    <head>
        <title>TeamGame: Business Life</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" type="text/css" href="http://www.teamgame.tk/css/game.css">
    </head>
    <body>
        <?php include_once("header.php"); ?>
    <div class="content">
            <div>
                <h2>Welkom <?php echo $_SESSION['userName'];?>,</h2>
              <p>op BUSINESS LIFE!</p>
              <p>We hebben vernomen dat dit de eerste keer is dat je dit spel speelt.</p>
              <p>Je kan starten als je wilt door op de startknop te klikken.</p>
              <form href="install_business_life.php">
              <button type="submit" class="button_kort" >Start</button>
              </form>
            </div>
    </div>
    </body>
</html>
<?php
} else {
//Pagina wanneer 1
?>


<?php    
}
}
else {
    header('Location: index.php');
}

?>


Toevoeging op 15/07/2014 11:20:49:

Voor de duidelijkheid ik gebruik MySQL!
Gewijzigd op 15/07/2014 11:21:56 door John De Zon
 
Ivo P

Ivo P

15/07/2014 11:21:46
Quote Anchor link
$connectie moet je natuurlijk wel vervangen door de var waarin jouw connectie zit.

terug te vinden, hopelijk in config/mysql.php

Toevoeging op 15/07/2014 11:23:07:

oh en aangezien je mysqli niet gebruikt, maar mysql

de vars in mysql_query moeten andersom, en de 2e kan in dat geval weg
 
John De Zon

John De Zon

15/07/2014 11:23:29
Quote Anchor link
Dit is die van mij:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
session_start();
mysql_connect('localhost', 'root', 'wachtwoord') or die('Could not conect to MySQL.');
mysql_select_db('login') or die('Could not connect to MySQL database.');
?>
 
Ivo P

Ivo P

15/07/2014 11:24:21
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
session_start();
$connectie = mysql_connect('localhost', 'root', 'wachtwoord') or die('Could not connect to MySQL.');
mysql_select_db('login', $connectie) or die('Could not connect to MySQL database.');
?>
 
John De Zon

John De Zon

15/07/2014 11:30:49
Quote Anchor link
In wat moet ik in mijn geval de connectie aanpassen?

Toevoeging op 15/07/2014 11:31:30:

Oeps ik had de code niet gezien!
 
Ivo P

Ivo P

15/07/2014 11:32:27
Quote Anchor link
in mijn vorige post geef ik aan waar jij $connectie neer kunt zetten in mysql.php, zodat je bij het uitvoeren ook inderdaad $connectie beschikbaar hebt om met mysql_query() te kunnen gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $result = mysql_query($query, $connectie); ?>
 
John De Zon

John De Zon

15/07/2014 11:38:31
Quote Anchor link
Weer een error:

Warning: mysql_query() expects parameter 1 to be string, resource given in /home/u837763209/public_html/business_life.php on line 9

Warning: mysql_num_rows() expects parameter 1 to be resource, string given in /home/u837763209/public_html/business_life.php on line 13

Code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
session_start();
sdfjksdfljkdsjf
?>

<?php
if(isset($_SESSION['userName'])) {
$query = "SELECT * FROM logins WHERE userName = '$username' AND business_life = 0";
$result = mysql_query($connectie, $query);
if($result === false) {
  echo 'een fout met '.$query .'<br>'.mysql_error($connectie);
}

if (mysql_num_rows($query)==true) {
//Pagina wanneer 0
?>

<!DOCTYPE html>
<html>
    <head>
        <title>TeamGame: Business Life</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" type="text/css" href="http://www.teamgame.tk/css/game.css">
    </head>
    <body>
        <?php include_once("header.php"); ?>
    <div class="content">
            <div>
                <h2>Welkom <?php echo $_SESSION['userName'];?>,</h2>
              <p>op BUSINESS LIFE!</p>
              <p>We hebben vernomen dat dit de eerste keer is dat je dit spel speelt.</p>
              <p>Je kan starten als je wilt door op de startknop te klikken.</p>
              <form href="install_business_life.php">
              <button type="submit" class="button_kort" >Start</button>
              </form>
            </div>
    </div>
    </body>
</html>
<?php
} else {
//Pagina wanneer 1
?>


<?php    
}
}
else {
    header('Location: index.php');
}

?>
Gewijzigd op 15/07/2014 17:59:42 door John De Zon
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/07/2014 11:41:57
Quote Anchor link
**knip** je komt met de ene naar de andere vraag. Het geeft mij het gevoel dat je veel knipt en plakt maar weinig leert of wil leren. Laten we daarom beginnen bij het begin. Lees mijn vorige post nog eens en probeer daar nou eens antwoord op te geven.
Gewijzigd op 03/04/2017 18:46:32 door - Ariën -
 
John De Zon

John De Zon

15/07/2014 11:48:52
Quote Anchor link
Frank Nietbelangrijk op 14/07/2014 22:04:27:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    if(mysql_num_rows($query)==1) {
?>


Wat is een query en wat is een result?
Welke heb je in bovenstaande regel nodig?


Een taak die je aan de database geeft is een query.

En een result heeft iets met een record te maken maar dit snap ik niet zo duidelijk.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/07/2014 11:53:47
Quote Anchor link
kijk, talking business, heel goed!

Inderdaad is de query een opdracht die je geeft aan de database. Als deze opdracht verwerkt is door de database-engine dan geeft deze een resultaat (engels: result) terug.

Bij een SELECT opdracht is dat een resultaat die bestaat uit NUL of meer records. Maar het kan ook FALSE teruggeven indien je query niet klopt.

Nadat je dus met mysql_query() een result hebt verkregen ga je verder werken met de result en niet meer met de query die immers alleen de opdracht formuleerde.

dus krijg je dit: (zoek het verschil)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    if(mysql_num_rows($result)==1) {
?>
 
John De Zon

John De Zon

15/07/2014 11:56:15
Quote Anchor link
Nu ga je verder met een result dat is het verschil.

Toevoeging op 15/07/2014 12:11:12:

Maar ik blijf nog bij deze errors waar ik niet snap van waar ze komen:

Warning: mysql_query() expects parameter 1 to be string, resource given in /home/u837763209/public_html/business_life.php on line 10

Warning: mysql_num_rows() expects parameter 1 to be resource, null given in /home/u837763209/public_html/business_life.php on line 14


code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
session_start();
Database connectie
?>

<?php
if(isset($_SESSION['userName'])) {
$_SESSION['userName'] = $userName;
$query = "SELECT * FROM logins WHERE userName = '$userName' AND business_life = 0";
$result = mysql_query($connectie, $query);
if($result === false) {
  echo 'een fout met '.$query .'<br>'.mysql_error($connectie);
}

if (mysql_num_rows($result)==true) {
//Pagina wanneer 0
?>
Gewijzigd op 15/07/2014 18:09:35 door John De Zon
 
Ivo P

Ivo P

15/07/2014 12:14:43
Quote Anchor link
op regel 10 staan $connectie en $query verkeerd om.

dat zei ik een paar posts geleden ook al: jij gebruikt mysql_query en niet mysqli_Query zoals ik in het voorbeeld zette.

Daarbij staan de parameters net andersom

Toevoeging op 15/07/2014 12:17:47:

if (mysql_num_rows($result)==true) {

num_rows: number of rows
oftwel: aantal rijen

Dat is dus niet true, maar 0 of groter dan 0
 
John De Zon

John De Zon

15/07/2014 13:38:56
Quote Anchor link
Nog enkele vragen.
Waarom moest ik $connectie en $query omdraaien?

En nu is dit mijn code en krijg ik steeds enkel 1 op mijn scherm zelfs als ik het verander in de database:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
include 'config/mysql.php';
$connectie = mysql_connect('localhost', 'root', 'password') or die('Could not conect to MySQL.');
mysql_select_db('login') or die('Could not connect to MySQL database.');
?>

<?php
if(isset($_SESSION['userName'])) {
$_SESSION['userName'] = $userName;
$query = "SELECT * FROM logins WHERE userName = '$userName' AND business_life = 0";
$result = mysql_query($query, $connectie);
if($result === false) {
  echo 'een fout met '.$query .'<br>'.mysql_error($connectie);
}

if (mysql_num_rows($result)==true) {
echo '0';
?>

<!DOCTYPE html>
<html>
    <head>
        <title>TeamGame: Business Life</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" type="text/css" href="http://www.teamgame.tk/css/game.css">
    </head>
    <body>
        <?php include_once("header.php"); ?>
    <div class="content">
            <div>
                <h2>Welkom <?php echo $_SESSION['userName'];?>,</h2>
              <p>op BUSINESS LIFE!</p>
              <p>We hebben vernomen dat dit de eerste keer is dat je dit spel speelt.</p>
              <p>Je kan starten als je wilt door op de startknop te klikken.</p>
              <form href="install_business_life.php">
              <button type="submit" class="button_kort" >Start</button>
              </form>
            </div>
    </div>
    </body>
</html>
<?php
} else {
echo '1';
?>


<?php    
}
}
else {
    header('Location: index.php');
}

?>
Gewijzigd op 15/07/2014 18:06:56 door John De Zon
 
Ivo P

Ivo P

15/07/2014 13:53:41
Quote Anchor link
wat voor 1 ?
 
John De Zon

John De Zon

15/07/2014 13:58:46
Quote Anchor link
In mij database staat business_life default op 0. 0 betekent nog nooit gespeeld dus een configuratiepagina geven.
1 betekent al gespeeld gegevens ophalen.
 
Ivo P

Ivo P

15/07/2014 14:01:15
Quote Anchor link
Quote:
en krijg ik steeds enkel 1 op mijn scherm


Je script zet geen 1 of business_life op het scherm.

Dus waar komt die 1 op je scherm dan vandaan?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/07/2014 14:04:02
Quote Anchor link
**knip**,

mysql_num_rows($result)==true

Dit slaat ook weer nergens op. Kijk eens op http://php.net/manual/en/function.mysql-num-rows.php en lees dan eens onder het kopje Return Values. Daar leer je wat de functie mysql_num_rows() mogelijk terug kan geven. En dat is dus niet zomaar true of false.

**knip** op 15/07/2014 13:38:56:
Nog enkele vragen.
Waarom moest ik $connectie en $query omdraaien?


De volgorde van de parameters die je meegeeft aan de functie is ook heel belangrijk. Ook hiervoor ga je gewoon naar php.net en lees je welke parameters je moet meegeven en in welke volgorde. Redelijk vaak zijn de laatste parameters optioneel. die staan dan tussen blokhaken.
Gewijzigd op 03/04/2017 18:47:14 door - Ariën -
 
- SanThe -

- SanThe -

15/07/2014 14:18:25
Quote Anchor link
if (mysql_num_rows($result)==true) {

mysql_num_rows($result) geeft een getal en geen true/false.
 

Pagina: « vorige 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.