Toon posts:

[php] werkt niet in 4.1.2

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig geweest met eens site, nu heb ik echter mijn eigen server upgedate en php 4.1.2 geinstalleerd. Nu werken enkele php codes niet meer
code:
1
2
3
while (list ($key, $val) = each ($persoon)) {
  eval ("\$key = ".stripslashes($val).";");
}

dit is heel irritant, deze code zou dus alle variabelen die met mysql_fetch_array in $persoon zijn gezet stripslashes moeten uitvoeren, helaas werkt dit nu niet meer ... iemand een idee hoe dit in 4.1.2 moet?!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

bah wat een enge code....


try this....
PHP:
1
<?foreach ($persoon as $key =>  $value) {   $persoon[$key]=stripslashes($value);}?>

Maar wat werkt er trouwens niet???
echo eens wat waardes.

Programmer - an organism that turns coffee into software.


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 13:44
Op dinsdag 21 mei 2002 11:26 schreef PatrickPietens het volgende:
code:
1
2
3
while (list ($key, $val) = each ($persoon)) {
  eval ("\$key = ".stripslashes($val).";");
}
Die eval is wel heel vies! Weet je ZEKER dat die noodzakelijk is? Meestal duidt het gebruik van eval op 'n slecht ontwerp. Ik vermoed dat de functie alleen maar bestaat omdat 'ie met de interne werking van de Zend engine toevallig eenvoudig te implementeren was.

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
<?

$result = mysql_fetch_array ("SELECT * FROM blaat WHERE id=$id");

foreach ($persoon as $key =>  $value) {
   $persoon[$key]=stripslashes($value);
}

?>

ik krijg vervolgens eerst een foutmelding dat de mysql_fetch_array niet in order is. Dit komt omdat dat met $_GET['bedrijfID'] moet. Maar helaas krijg ik dan een error over T_STRING en weet ik veel wat allemaal; oftwel die query is dan goed fucked up. Dus ik denk dat de code bovenstaand wel werkt, maar dat de fout bij de query ligt ...

Verwijderd

Topicstarter
Ik heb de eval er nu uit gesloopt ...! maar ook met de verbeterde code blijft de foutmelding bestaan, dus de fout ligt echt in de query

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

$result != $persoon

Programmer - an organism that turns coffee into software.


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 13:44
Op dinsdag 21 mei 2002 11:59 schreef PatrickPietens het volgende:
Maar helaas krijg ik dan een error ver T_STRING en weet ik veel wat allemaal; oftwel die query is dan goed fucked up.
Daar hebben we weinig aan.

Wat zegt:
code:
1
print_r("SELECT * FROM blaat WHERE id=$_REQUEST[id]");

(En nu nooit meer eval gebruiken ;) btw.)

Verwijderd

Topicstarter
foutje ... result moet dus persoon zijn

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Je voert de query niet eens uit...

On track


Verwijderd

Topicstarter
ik voer de query wel uit ... ik heb met print_r gewerkt, en dan krijg ik de juiste query, dus met de ID ook goed ingevuld, wanneer ik nu
code:
1
2
$result = ("SELECT * FROM persoon WHERE ID=$_REQUEST[persoonID]");
$persoon = mysql_fetch_array ($result);

gebruik dan krijg ik de foutmelding :
mysql_fetch_array (): supplied argument is not a valid MySQL result resource in ....

  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
mysql_fetch_array (): supplied argument is not a valid MySQL result resource in ....
Wat er dus op wijst dat je argument aan "mysql_fetch_array()" geen resultset identifier is. Oftewel, je query is NIET uitgevoerd.
Je moet eerst even een
code:
1
2
$result = mysql_query ("SELECT bladiebladiebl");
$data = mysql_fetch_array ($result);

of iets in deze richting doen. De query moet wel uitgevoerd worden voordat je een resultset hebt, waar je arrays uit kan fetchen.

Verwijderd

Topicstarter
slotje graag, wat een lompe fout ... arrrghhh kan mezelf wel voor de kop slaan ;)

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 13:44
Op dinsdag 21 mei 2002 12:08 schreef PatrickPietens het volgende:
code:
1
2
$result = ("SELECT * FROM persoon WHERE ID=$_REQUEST[persoonID]");
$persoon = mysql_fetch_array ($result);

gebruik dan krijg ik de foutmelding :
mysql_fetch_array (): supplied argument is not a valid MySQL result resource in ....
Duh! :(

Laatste minuut die ik aan dit onderwerp besteedt:
code:
1
$result = mysql_query("SELECT * FROM persoon WHERE ID=$_REQUEST[persoonID]");

Leer geldige code typen en debuggen, alsjeblieft!
Pagina: 1