Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] Onverklaarbare error (https://forum.scholieren.com/showthread.php?t=624987)

Martin 09-10-2003 18:46

[PHP] Onverklaarbare error
 
Foutmelding:
PHP-code:

Warningmysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/home/bellevue/www/moviemanager/editor.php on line 16 

Regel 16:
PHP-code:

$result_content mysql_fetch_array(mysql_query("SELECT * FROM CMS WHERE cid = '$_GET[cid]'")); 

Context:
PHP-code:

<?
else{

$result_content = mysql_fetch_array(mysql_query("SELECT * FROM CMS WHERE cid = '$_GET[cid]'"));

?>
<textarea name="htmlSource" rows=20 cols=80 onChange=getActiveText(this) onclick=getActiveText(this)>
<? echo "$result_content[code]"; ?>
</textarea>
<?
}
?>

Wie ziet de fout?

deathz0rz 09-10-2003 19:00

eeh, je tabel is leeg?

doe eens print_r(mysql_query(........

Chimera 09-10-2003 19:11

Aan mensen die geen or die() achter een mysql_query() zetten ga ik per definitie geen tijd verspillen :)

Manuzhai 09-10-2003 19:13

Citaat:

Chimera schreef op 09-10-2003 @ 20:11:
Aan mensen die geen or die() achter een mysql_query() zetten ga ik per definitie geen tijd verspillen :)
Nee, een error uitspuwen richting je user is wel nuttig. :P Je kan het beter iets netter opvangen, en die() is daarbij niet gepast. Overigens lijkt het me bij het debuggen wel even nuttig om iets dergelijks te doen. :D

Martin 09-10-2003 19:18

tabel bestaat gewoon.

PHP-code:

mysql_fetch_array(mysql_query("SELECT * FROM cms WHERE cid = '$_GET[cid]'") or die(mysql_error())); 

produceert ook niets anders

eddie 09-10-2003 19:19

Is toch duidelijk?
Een parameter van mysql_fetch_array() is niet een geldig MySQL result.

Conclusie: Je query/select statement geeft niks terug/is niet geldig.

Beetje zelf nadenken kan geen kwaad hoor ;)

Martin 09-10-2003 19:19

Citaat:

deathz0rz schreef op 09-10-2003 @ 20:00:
eeh, je tabel is leeg?

doe eens print_r(mysql_query(........

retourneert Resource id #8

Martin 09-10-2003 19:20

Citaat:

eddie schreef op 09-10-2003 @ 20:19:
Is toch duidelijk?
Een parameter van mysql_fetch_array() is niet een geldig MySQL result.

Conclusie: Je query/select statement geeft niks terug/is niet geldig.

Beetje zelf nadenken kan geen kwaad hoor ;)

Ik ben niet achterlijk, maar ik kan dus niet vinden WAT er fout is...

eddie 09-10-2003 19:24

Citaat:

Martin schreef op 09-10-2003 @ 20:20:
Ik ben niet achterlijk, maar ik kan dus niet vinden WAT er fout is...
:rolleyes:
je select statement is niet geldig of geeft niks terug...

mysql_num_rows()

Enlightenment 09-10-2003 20:18

$_GET[cid] is niet geldig, je moet het tussen ' doen, dus $_GET['cid']

en dit is USER INFORMATIE, dus controleer die userinformatie VOORDAT je het in een query stopt!

Als het een integer is, doe je dit:

(int)$_GET['cid']

Als het een string is, doe je dit:

mysql_escape_string(%_GET['cid'])

Bovendien moet je bij een string controleren of deze niet leeg is, dus:

if (strlen($_GET['cid']) < 1)
die('Foutje');

Martin 09-10-2003 20:24

Het vreemde is dat hij op mijn localhost wel draait, maar op de externe webserver dus niet...

deathz0rz 09-10-2003 20:27

Citaat:

Martin schreef op 09-10-2003 @ 21:24:
Het vreemde is dat hij op mijn localhost wel draait, maar op de externe webserver dus niet...
heb je wel verbinding met de server?

@Enlightenment: %_GET???

en het is ook dit:

PHP-code:

<? echo "${result_content['code']}"; ?>

//oja...
//is het mssn dit?


<? $result_content = mysql_fetch_array(mysql_query("SELECT * FROM CMS WHERE cid = '${_GET['cid']}'")); ?>


Martin 09-10-2003 20:35

Citaat:

deathz0rz schreef op 09-10-2003 @ 21:27:
heb je wel verbinding met de server?

@Enlightenment: %_GET???

en het is ook dit:

PHP-code:

<? echo "${result_content['code']}"; ?>

//oja...
//is het mssn dit?


<? $result_content = mysql_fetch_array(mysql_query("SELECT * FROM CMS WHERE cid = '${_GET['cid']}'")); ?>


Jep, heb gewoon verbinding, ik kan andere onderdelen van de site wél gewoon weergeven (ik include ene dbconnect overal).

Manuzhai 09-10-2003 21:17

mysql_escape_string()?

Doe eens zoiets:
PHP-code:

$sql "SELECT crap FROM ass";
print 
$sql;
$res mysql_query($sql); 


Enlightenment 10-10-2003 01:06

Citaat:

deathz0rz schreef op 09-10-2003 @ 21:27:
@Enlightenment: %_GET???
$_GET natuurlijk, typefoutje :o

@Manuzhai: mysql_escape_string zorgt ervoor dat je met een user string geen full controll over een database hebt, doordat je gewoon alles er neer kunt zetten zoals DROP DB en dat soort narigheden. Schijnt dat PHP standaard al magic queries ofzo heeft, waardoor dergelijke serious security issues voorkomen worden. desalniettemin is het aan te bevelen jezelf dit aan te leren, ivm script portabiliteit.

Manuzhai 10-10-2003 09:42

Citaat:

Enlightenment schreef op 10-10-2003 @ 02:06:
@Manuzhai: mysql_escape_string zorgt ervoor dat je met een user string geen full controll over een database hebt, doordat je gewoon alles er neer kunt zetten zoals DROP DB en dat soort narigheden. Schijnt dat PHP standaard al magic queries ofzo heeft, waardoor dergelijke serious security issues voorkomen worden. desalniettemin is het aan te bevelen jezelf dit aan te leren, ivm script portabiliteit.
Daarom zeg ik ook dattie dat moet gebruiken. :P

En het zijn magic quotes, BTW.


Alle tijden zijn GMT +1. Het is nu 03:28.

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