SQL Probleem migratie php 4.0 naar 5.4

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Daniel Karst

Daniel Karst

01/06/2013 10:14:24
Quote Anchor link
Beste allemaal,

Ik heb van mijn webhost een bericht gekregen dat php 4.0 binnenkort niet meer wordt ondersteunt en dat ik moet controleren of mijn website compatible is met php 5.4. Op 1 ding na, werkt de hele website na behoren, behalve het volgende script waarmee vanuit de zoekresultaten de details van één bepaald object worden opgeroepen vanuit database, deze werkt prima onder php 4.0 maar niet onder 5.4.

Heeft iemand een idee waar het probleem zit? Bij voorbaat dank.

<div id="objectdetails">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
$query
= mysql_query("SELECT * FROM objecten WHERE id = '$id'");
$result = (mysql_fetch_array($query));
?>

<div id="objectresults">
<h2>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["etat"];?>
</h2>
<p> <b>Region:</b>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["region"];?>

<b>Ville:</b>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["ville"];?>

<b>Surface Terrain:</b>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["terrain"];?>

</p>
<p>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["text"];?>
</p>
<p> <b>Prix:</b>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["prix"];?>
Euros </p>
</div>
</div>
 
PHP hulp

PHP hulp

20/12/2024 12:44:35
 
Bart V B

Bart V B

01/06/2013 10:25:58
Quote Anchor link
Waar komt $id vandaan?
Ik neem aan dat dit een $_GET['id'] is, dus dan zou je het zo moeten veranderen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query
= mysql_query("SELECT * FROM objecten WHERE id = '".mysql_real_escape_string($_GET['id'])."'");
$result = mysql_fetch_assoc($query);
?>
 
Tobias Tobias

Tobias Tobias

01/06/2013 10:34:01
Quote Anchor link
let ook op dat de schorttag < ? niet altijd ondersteunt wordt. Pas voor de zekerheid (en netheid) alle < ? aan naar < ?php

(maar dan zonder spaties ertussen uiteraard)
Gewijzigd op 01/06/2013 10:34:55 door Tobias Tobias
 
Daniel Karst

Daniel Karst

01/06/2013 10:58:26
Quote Anchor link
SUPER, bedankt alles doet het weer, alleen gek dat alles het wel deed onder php 4.0,
Weet jij misschien wat er is aangepast in php 5. Is het dan zo dat in php 4.0 de $_GET functie in het script voor het oproepen van de zoekresultaten vanuit de database gewoon doorloopt als opvolgend de details van het [$id] worden opgeroepen vanuit de zoekresultaten... Ikke niet begrijp. Maar nogmaals super bedankt.

Toevoeging op 01/06/2013 11:02:24:

Tobias Tobias op 01/06/2013 10:34:01:
let ook op dat de schorttag < ? niet altijd ondersteunt wordt. Pas voor de zekerheid (en netheid) alle < ? aan naar < ?php

(maar dan zonder spaties ertussen uiteraard)


Alles werkt ook met de schorttag... maar bedankt.
 
Bart V B

Bart V B

01/06/2013 11:22:13
Quote Anchor link
Quote:
Weet jij misschien wat er is aangepast in php 5. Is het dan zo dat in php 4.0 de $_GET functie in het script voor het oproepen van de zoekresultaten vanuit de database gewoon doorloopt als opvolgend de details van het [$id] worden opgeroepen vanuit de zoekresultaten... Ikke niet begrijp. Maar nogmaals super bedankt.


Heel simpel.
Vroeger kon je een variabele uit $_GET, $_POST, e.d. doorgeven.
Tegenwoordig werken we met super globals zoals ik hierboven zet.
De versie php die jij had, is echt antiek als je dit echt allemaal nog kon.

Let ook op dat je geen addslashes en stripslashes gebruikt.
Magic_quotes staan in php5.4 standaard uit. Dus als je die nog ergens in je scripts hebt zitten dan moet je die eruit slopen. En alles wat in de database word gedaan met $_GET, $_POST e.d. door mysql_real_escape_string() halen. Anders is het erg lek. :P
Gewijzigd op 01/06/2013 11:23:46 door Bart V B
 
Daniel Karst

Daniel Karst

01/06/2013 12:39:50
Quote Anchor link
Oké SUPERGLOBALS is dus de nieuwe manier... klinkt cool, nu moet ik het nog onder de knie zien te krijgen. Nogmaals bedankt Bart voor je tekst en uitlegt. Mocht je benieuwd zijn naar de site waar het om gaat klik dan hier
Gewijzigd op 01/06/2013 12:45:24 door Daniel Karst
 
Frank Nietbelangrijk

Frank Nietbelangrijk

01/06/2013 12:47:03
Quote Anchor link
misschien een goed moment om direct van mysql_ mysqli_ of PDO te maken?http://php.net/manual/en/book.mysqli.php
Gewijzigd op 01/06/2013 12:47:37 door Frank Nietbelangrijk
 



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.