Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] Errors met mysql_*() (https://forum.scholieren.com/showthread.php?t=834633)

Hydraul!C FunK 09-05-2004 13:03

[PHP Gastenboek] Hulp a.u.b, errors die niet weggaan.....
 
Oke,

Ik ben bezig met een siteje voor m'n familie en wil daar in principe alles zelf in beheer houden enzo(geen irri gratis diensten meer enzo).

Nu heb ik een gastenboek geinstalleerd en toen ik dat had gedaan stond het vol met errors en ik heb dat aantal kunnen terugbrengen tot 2 n.l.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/local/psa/home/vhosts/thenusite.com/httpdocs/gastenboek/index.php on line 18

en

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /usr/local/psa/home/vhosts/thenusite.com/httpdocs/gastenboek/index.php on line 25

Ik ben een gigantische n00b in PHP en heb met m'n gezond verstand de andere weten op te lossen maar deze 2 lukt me echt niet.....

Dus graag hulp hierbij,

Alvast bedankt.

Add: owja de url is http://www.thenusite.com/gastenboek/

Lil' Stef 09-05-2004 13:29

je hebt geen database geselecteerd.

Voor de script begint

Moet je
PHP-code:

mysql_connect("je msqlhost",je gebruikersnaam","je wachtwoord") or die(mysql_error());
mysql_select_db("
de naam van je database") or die(mysql_error()); 


Scooter B0y 10-05-2004 09:44

Queries gewoon zo uitvoeren.
PHP-code:

<?php

$sql 
"SELECT 
        * 
    FROM 
        table"
;

if ( !
$result mysql_query($sql) )
{
    echo 
mysql_error();
    exit;
}

//
// check gedaan hier verder.
//

?>


Triloxigen 10-05-2004 09:54

bij een query van 4 dingen is dat een beetje zinloos naar mijn idee..

eddie 10-05-2004 09:59

Citaat:

Scooter B0y schreef op 10-05-2004 @ 10:44 :
Queries gewoon zo uitvoeren.
*knip*

Hoe overzichtelijk programeren, tip #1285650335821486: Gebruik niet midden in een functie return/exit om aan te geven dat de verwerking niet doorgaat. Gebruik liever een variabele om te controleren of je moet doorgaan.

Koen 10-05-2004 10:28

Citaat:

Scooter B0y schreef op 10-05-2004 @ 10:44 :
Queries gewoon zo uitvoeren.
PHP-code:

<?php

$sql 
"SELECT 
        * 
    FROM 
        table"
;

if ( !
$result mysql_query($sql) )
{
    echo 
mysql_error();
    exit;
}

//
// check gedaan hier verder.
//

?>


Dit kan wel een héél stuk makkelijker:

PHP-code:

<?php 

$sql 
mysql_query("SELECT * FROM table")or die(mysql_error()); 

?>

Scheelt heel wat code. ;)

Fade of Light 10-05-2004 10:32

Citaat:

Koen schreef op 10-05-2004 @ 11:28 :
Dit kan wel een héél stuk makkelijker:

<knip>

Scheelt heel wat code. ;)

en overzicht

Koen 10-05-2004 10:47

Citaat:

Fade of Light schreef op 10-05-2004 @ 11:32 :
en overzicht
Ik vind persoonlijk die methode van Scooter B0y behoorlijk onoverzichtelijk, maar goed. :) Zal deels ook wel een kwestie van smaak en gewenning zijn.

Fade of Light 10-05-2004 10:52

Citaat:

Koen schreef op 10-05-2004 @ 11:47 :
Ik vind persoonlijk die methode van Scooter B0y behoorlijk onoverzichtelijk, maar goed. :)
Ja, ik ook. Eh ik zie nou pas dat ik het verkeerd zei :). Ik bedoel dus ook dat je meer overzicht krijgt daardoor.

Hydraul!C FunK 10-05-2004 13:15

Citaat:

Koen schreef op 10-05-2004 @ 11:28 :
Dit kan wel een héél stuk makkelijker:

PHP-code:

<?php 

$sql 
mysql_query("SELECT * FROM table")or die(mysql_error()); 

?>

Scheelt heel wat code. ;)

En waar moet ik dit dan bijplakken.....

(Ja ik ben echt n00b i know)

Fade of Light 10-05-2004 17:46

Citaat:

Hydraul!C FunK schreef op 10-05-2004 @ 14:15 :
En waar moet ik dit dan bijplakken.....

(Ja ik ben echt n00b i know)

Dat hoef je niet te doen.

Het probleem (jouw probleem) was (waarschijnlijk) dat je niet naar de database verbond. Volg Lil Stef (de eerste reply helemaal bovenaan) op en dan moet het waarschijnlijk werken. Wel de goede dingen invullenhe, dat "mijn wachtwoord" wel vervangen door je wachtwoord e.d. :)

Dat wat Koen zijn dat "mysql_query" gebeuren is dat je eigenlijk 'een vraag stelt aan de database'. MAar dat heb je al gedaan, aan de foutmeldingen te zien.

Hydraul!C FunK 10-05-2004 20:55

Maar heb ik dat al niet hiermee gedaan:

CONFIG.PHP

<?PHP

$db_host = "localhost"; //De host van de Database
$db_name = "db_naam"; //De naam van de Database
$db_user = "db_user"; //De username van de Database
$db_psw = "db_pasw"; //Het paswoord van de Database

?>

Ik heb daar namelijk gewoon de goede dingen ingevuld...

Fade of Light 10-05-2004 21:40

Citaat:

Hydraul!C FunK schreef op 10-05-2004 @ 21:55 :
Maar heb ik dat al niet hiermee gedaan:

CONFIG.PHP

<?PHP

$db_host = "localhost"; //De host van de Database
$db_name = "db_naam"; //De naam van de Database
$db_user = "db_user"; //De username van de Database
$db_psw = "db_pasw"; //Het paswoord van de Database

?>

Ik heb daar namelijk gewoon de goede dingen ingevuld...

Nee, dan heb je alleen de variabelen $db_host, $db_name, etc de goede waarde gegeven. Maar kijk eens of je ergens dit ziet staan:

PHP-code:

mysql_connect('$db_host','$db_user','$db_psw') or die(mysql_error()); 
mysql_select_db('$db_name') or die(mysql_error()); 

Stel dat die ook in die config.php staat, weet je dan zeker dat er ergens in die index.php wel include('config.php'); staat?

Hydraul!C FunK 11-05-2004 08:29

gastenboek.php/index.php

<html>
<head>
<title>Gastenboek</title>
<? include("layout.php"); ?>
</head>

<body>

<?PHP

include("config.php");

mysql_connect("$host","$db_user","$db_psw");
mysql_select_db("$db_name");

$select = "SELECT * FROM gastenboek ORDER BY id DESC";
$query = mysql_query($select);
$records = mysql_num_rows($query);

echo "<p>&#149 <b>Het Gastenboek</b></p>";
echo "Wil je ook een berichtje toevoegen??";
echo " <a href=\"toevoegen.php\">Klik dan hier</a>!";
echo "<p>Er zijn al <b><font color=#FF0000>$records</font></b> berichtjes toegevoegd!</p>";

while ($list = mysql_fetch_object($query)) {
echo "<p><table>";
echo "<tr><td width=125><b>Naam:</b></td><td>$list->auteur</td></tr>";
echo "<tr><td width=125><b>E-mail:</b></td><td>$list->email</td></tr>";
echo "<tr><td valign=top width=50><b>berichtje:</b></td><td>$list->bericht</td></tr>";
echo "<tr><td width=125><b>Toegevoegd op:</b></td><td><font color=#FF0000>$list->datum - $list->tijd</font></td></tr>";
echo "</table></p><br><hr size=1 color=#000000 width=100%>";
}

?>

</body>

</html>
er staat duidelijk waar het php begint include("config.php");

edit: ik zie nu wel dat er in die index.php onder dat include("config.php"); ook staat
mysql_connect("$host","$db_user","$db_psw");
mysql_select_db("$db_name");


Is dit van invloed en hoe?

Koen 11-05-2004 09:40

Maak van deze regels:

PHP-code:

mysql_connect("$host","$db_user","$db_psw"); 
mysql_select_db("$db_name"); 

Eens het volgende:

PHP-code:

mysql_connect("$host","$db_user","$db_psw")or die(mysql_error());
mysql_select_db("$db_name")or die(mysql_error()); 

Kijk eens wat voor foutmelding je dan krijgt..

Hydraul!C FunK 11-05-2004 12:36

Access denied for user: 'blablabla@blablabla' to database 'blablabla'

Fade of Light 11-05-2004 12:38

Citaat:

Hydraul!C FunK schreef op 11-05-2004 @ 13:36 :
Access denied for user: 'blablabla@blablabla' to database 'blablabla'
Dan heb je niet de goede gebruikersnaam + wachtwoord (of/dus rechten) dunkt me... :]
Kijk in config.php goed na of je je naam en wachtwoord goed hebt, inclusief hoofd en kleine letters

Hydraul!C FunK 11-05-2004 13:29

Ja want eerst kreeg ik wel gewoon het gastenboek te zien alleen dan boven en ondereen die error.
Nu ik de wijziging van Koen gedaan heb is het hele gastenboek niet meer te zien en krijg ik alleen die "acces denied for user:" in beeld

Fade of Light 11-05-2004 17:40

dat klopt, er staat een 'die' wat betekent dat het script meteen stopt. Oftewel, alles wat erna komt zie je niet meer. Ik zou mijn geld toch inzetten op foute inlogegevens.


Alle tijden zijn GMT +1. Het is nu 21:52.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.