mysql_num_rows() expects parameter 1 to be resource, boolean given

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Pagina: 1 2 volgende »

George mendel

george mendel

20/06/2013 11:30:50
Quote Anchor link
ik heb geprobeerd om de fout op te lossen maar het komt steeds terug. Krijg de foutmelding op regel 32 en 34. Weet iemand van jullie wat deze fout betekend en hoe ik het eruit krijg?

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
<html>
<head>
<title>Profile</title>
<link rel='stylesheet' href='style.css' />
</head>
<body>
<?php include 'connect.php'; ?>

<?php include 'functions.php'; ?>'

<?php include 'header.php'; ?>

<div class='container'>
<?PHP
if(isset($_GET['user']) && !empty($_GET['user'])){
    $user = $_GET['user'];
}
else {
    $user = $_SESSION['user_id'];
}

        $my_id = $_SESSION['user_id'];
        $username = getuser($user, 'username');
?>

<h3><?php echo $username; ?></h3>
<?php
if($user != $my_id){
    $check_frnd_query = mysql_query("SELECT id FROM frnds WHERE (user_one='$my_id' AND user_two='$user') OR (user_one='$user' AND user_two='$my_id')");
    if(mysql_num_rows($check_frnd_query) == 1) {
        echo "<a href='' class='box'></a> | <a href='' class='box'>$username</a>";
    }
else {
        $from_query = mysql_query("SELECT 'id' FROM 'frnd_req' WHERE 'from'='$user' AND 'to'='$my_id'");
        $to_query = mysql_query("SELECT 'id' FROM 'frnd_req' WHERE 'to'='$my_id' AND 'to'='$user'");
        if(mysql_num_rows($from_query) == 1){
            echo "ignore request";
    }
    else if (mysql_num_rows($to_query) == 1){
        echo "<a href='actions.php?action=send&user=$user' class='box'>Cancel Request</a>";
    }
    else{
        echo "<a href='actions.php?action=send&user=$user' class='box'>Send Request</a>";
    }
}
}

?>
    
</div>

</body>
</html>


Edit:
Code plaatsen we liever tussen de [code]-tags. Bij deze heb ik het aangepast.
Gewijzigd op 20/06/2013 11:51:02 door - Ariën -
 
PHP hulp

PHP hulp

26/12/2024 17:53:35
 
Chris PHP

Chris PHP

20/06/2013 11:44:33
Quote Anchor link
Dat houdt over het algemeen in dat je query mislukt is. Wanneer je query slaagt krijg je een resource terug, anders een boolean (false).

Probeer je query zo eens.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
("SELECT id FROM frnd_req WHERE from=".$user." AND to=".$my_id."")

// en je andere query zo

("SELECT id FROM frnd_req WHERE to=".$my_id." AND to=".$user."")
?>
Gewijzigd op 20/06/2013 11:52:43 door Chris PHP
 
Tobias Tobias

Tobias Tobias

20/06/2013 11:50:35
Quote Anchor link
Kijk welke foutmelding je in de query's krijgt door mysql_error() te echoen.

Ik denk dat het aan de ' rond de tabel- en kolomnamen ligt, deze moet je hier weglaten
' horen alleen om de zoekterm ($user en $my_id
 
Kris Peeters

Kris Peeters

20/06/2013 12:23:05
Quote Anchor link
Gebruik geen gereserveerde woorden voor de naam van tabellen en velden.

(hier een lijst: http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html )

De naam from is heel ongelukkig gekozen (EDIT: ik zie dat from niet in de lijst staat, maar gebruik het toch maar niet).
Als je het simpel wil oplossen, vervang dat. Zo vlug mogelijk.

---

Verder: echo de SQL string, copy/paste ze in phpMyAdmin, daar krijg je gemakkelijker een volledige uitleg
Gewijzigd op 20/06/2013 12:26:21 door Kris Peeters
 
George mendel

george mendel

20/06/2013 14:09:54
Quote Anchor link
Chris NVT op 20/06/2013 11:44:33:
Dat houdt over het algemeen in dat je query mislukt is. Wanneer je query slaagt krijg je een resource terug, anders een boolean (false).

Probeer je query zo eens.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
("SELECT id FROM frnd_req WHERE from=".$user." AND to=".$my_id."")

// en je andere query zo

("SELECT id FROM frnd_req WHERE to=".$my_id." AND to=".$user."")
?>



Bedankt! ik heb ze vervangen met deze query's en het werkt weer. Overigens moesten ze wel tussen haakjes.

dit is de oplossing:
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

"SELECT 'id' FROM frnd_req WHERE 'from'=".$user." AND 'to'=".$my_id.""

"SELECT 'id' FROM frnd_req WHERE 'from'="
.$my_id." AND 'to'=".$user.""
?>


Deze topic kan gesloten worden!
 
- SanThe -

- SanThe -

20/06/2013 14:13:16
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php

"SELECT 'id' ...."
?>


Zo is id toch gewoon de tekst 'id' en niet de inhoud van het veld id.
Kan mij dus niet voorstellen dat het werkt.
Gewijzigd op 20/06/2013 14:14:14 door - SanThe -
 
Kris Peeters

Kris Peeters

20/06/2013 14:19:01
Quote Anchor link
Misschien worden hier back ticks bedoeld?
 
Chris PHP

Chris PHP

20/06/2013 14:19:07
Quote Anchor link
Idd wat SanThe zegt, er zouden geen '' om de velden moeten staan.

Zo zou het moeten, op jou manier krijg ik zelf een gefaalde query
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
// Enkel veld selecteren
SELECT id FROM ....

//Meerdere velden selecteren
SELECT id, wachtwoord, naam FROM ....
?>


Houd er overigens wel rekening mee dat je nu gevoelig bent voor injectie! Je escaped je input niet, gebruik mysql_real_escape_string(); om je waades te escapen.

Toevoeging op 20/06/2013 14:24:05:

Om je op weg te helpen, pas het dus zo aan als je variabelen wil gebruiken (raad ik niet aan vanwege onnodige resources dat het kost).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(isset($_GET['user']) && !empty($_GET['user'])){
    $user = mysql_real_escape_string($_GET['user']);
}
else {
    $user = mysql_real_escape_string($_SESSION['user_id']);
}

        $my_id = mysql_real_escape_string($_SESSION['user_id']);
?>
Gewijzigd op 20/06/2013 14:20:33 door Chris PHP
 
George mendel

george mendel

20/06/2013 14:24:45
Quote Anchor link
- SanThe - op 20/06/2013 14:13:16:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php

"SELECT 'id' ...."
?>


Zo is id toch gewoon de tekst 'id' en niet de inhoud van het veld id.
Kan mij dus niet voorstellen dat het werkt.


zo kan het het ook:
Quote:
"SELECT id FROM frnd_req WHERE 'from'=".$user." AND 'to'=".$my_id.""

"SELECT id FROM frnd_req WHERE 'from'=".$my_id." AND 'to'=".$user.""


Ik krijg geen foutmeldingen meer!
 
Chris PHP

Chris PHP

20/06/2013 14:27:01
Quote Anchor link
@George,
Ook daar zouden om from en to geen quotes (') moeten staan, dit zijn velden en geen strings.
 
Kris Peeters

Kris Peeters

20/06/2013 14:29:53
Quote Anchor link
Vervang die from toch maar. Noem dat anders.
 
Chris PHP

Chris PHP

20/06/2013 14:31:14
Quote Anchor link
Kris Peeters op 20/06/2013 14:29:53:
Vervang die from toch maar. Noem dat anders.


Idd, kan verwarrend zijn. Maak er gewoon 'van' van ofzo ;-)
 
George mendel

george mendel

20/06/2013 14:34:57
Quote Anchor link
Ik heb het vervangen maar ik krijg dan nog steeds een foutmelding! En idd. als ik de '' om de velden doe gaat die foutnelding weg, maar de functie werkt dan niet meer!
 
- SanThe -

- SanThe -

20/06/2013 14:37:49
Quote Anchor link
George mendel op 20/06/2013 14:34:57:
Ik heb het vervangen maar ik krijg dan nog steeds een foutmelding!


Welke?

Met quotes om een veldnaam is het geen veldnaam meer maar tekst. Dat zal inderdaad geen foutmelding geven maar ook geen resultaten.
 
Chris PHP

Chris PHP

20/06/2013 14:38:14
Quote Anchor link
George mendel op 20/06/2013 14:34:57:
Ik heb het vervangen maar ik krijg dan nog steeds een foutmelding! En idd. als ik de '' om de velden doe gaat die foutnelding weg, maar de functie werkt dan niet meer!


Komt dus waarschijnlijk door je FROM from=, MySQL kan dat zien als 2x een FROM en dat kan niet. Dus zoals eerder al aangegeven verander het veld from naar van.
 
George mendel

george mendel

20/06/2013 14:40:31
Quote Anchor link
Chris NVT op 20/06/2013 14:38:14:
George mendel op 20/06/2013 14:34:57:
Ik heb het vervangen maar ik krijg dan nog steeds een foutmelding! En idd. als ik de '' om de velden doe gaat die foutnelding weg, maar de functie werkt dan niet meer!


Komt dus waarschijnlijk door je FROM from=, MySQL kan dat zien als 2x een FROM en dat kan niet. Dus zoals eerder al aangegeven verander het veld from naar van.


Ik heb dit nu:

Quote:
("SELECT id FROM frnd_req WHERE van=".$user." AND to=".$my_id."");
("SELECT id FROM frnd_req WHERE van=".$my_id." AND to=".$user."");

maar het geeft dezelfde fout
 
Chris PHP

Chris PHP

20/06/2013 14:43:13
Quote Anchor link
Uhmmm..... Wilde gok hier, maar heb je het veld OOK in je database veranderd? Dat denk ik namelijk niet.
 
George mendel

george mendel

20/06/2013 14:44:39
Quote Anchor link
Chris NVT op 20/06/2013 14:43:13:
Uhmmm..... Wilde gok hier, maar heb je het veld OOK in je database veranderd? Dat denk ik namelijk niet.


Ja hij is in de database ook vervangen!
 
- SanThe -

- SanThe -

20/06/2013 14:45:31
Quote Anchor link
Je mist de (enkele) quotes om de data heen.

("SELECT id FROM frnd_req WHERE van='".$user."' AND to='".$my_id."'");
("SELECT id FROM frnd_req WHERE van='".$my_id."' AND to='".$user."'");

From is een reserved word van mysql, maar to is dat ook. Dus to moet je ook in iets anders veranderen.
Gewijzigd op 20/06/2013 14:47:17 door - SanThe -
 
George mendel

george mendel

20/06/2013 14:49:27
Quote Anchor link
- SanThe - op 20/06/2013 14:45:31:
Je mist de (enkele) quotes om de data heen.

("SELECT id FROM frnd_req WHERE van='".$user."' AND to='".$my_id."'");
("SELECT id FROM frnd_req WHERE van='".$my_id."' AND to='".$user."'");

From is een reserved word van mysql, maar to is dat ook. Dus to moet je ook in iets anders veranderen.


Helaas, dat helpt ook niet!
 
- SanThe -

- SanThe -

20/06/2013 14:52:39
Quote Anchor link
Wat is dan de complete error?
 

Pagina: 1 2 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.