problemen php 5.2 vs 5.5

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johnny Cash

Johnny Cash

15/01/2015 15:16:39
Quote Anchor link
Hallo,

Ik ben bezig met het inrichten van een nieuwe server waar php 5.5 op staat.
Nu draai ik daar enkele test websites op van mijn oude server.

Maar nu heb ik vooral problemen in mijn sql codes.
Ten eerste moet (eenvoudig gezegd) over de letter i aan toevoegen zoals in: mysqli_query

Hoe zet ik nou het volgende stukje code om zodat deze php 5.5 valid is?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
   if(mysqli_num_rows($resultaat) == 1){
     $ProductTitel = mysqli_query($resultaat, 0, "prtitel");
     $ProductDesc = mysqli_query($resultaat, 0, "prdesc");
    
     $VanafPrijs = mysqli_query($resultaat, 0, "prprijs");
     $VanafPrijs = number_format($VanafPrijs, 2, ',', ' ');
   }


Het gaat dus niet goed wanneer ik de mysqli_query gebruik.
Ook heb ik dit al geprobeerd, zonder resultaat en heb php.net hierover geraadpleegd, maar daar kom ik mijn voorbeeld niet op tegen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$ProductTitel = mysqli_query($verbinding, "prtitel");


Hierin is $verbinding de variable om verbinding te maken met de database.
 
PHP hulp

PHP hulp

06/12/2021 22:47:47
 
TJVB tvb

TJVB tvb

15/01/2015 16:02:17
Quote Anchor link
De functie mysqli_query bestaat helemaal niet, dat maakt het logisch dat het niet werkt. Probeer je misschien van mysql_* naar mysqli te gaan?
Foutje, wist niet dat er een alias was voor de procedurele stijl. http://php.net/mysqli_query komt niet bij een functie uit.

Wat voor error krijg je?

Van 5.2 naar 5.5 betekent trouwens dat je al een lange tijd geen updates hebt doorgevoerd. Probeer anders meteen door te gaan naar 5.6 (verschil 5.5 en 5.6 is niet heel groot) Dat scheelt je een jaar aan actieve updates. Zie: http://php.net/supported-versions.php
Gewijzigd op 15/01/2015 16:04:58 door TJVB tvb
 
Ivo P

Ivo P

15/01/2015 16:07:43
Quote Anchor link
Gezien de parameters van

$ProductTitel = mysqli_query($resultaat, 0, "prtitel");

weet je zeker dat op die regel niet eerst mysql_result() stond? (een erg inefficiënte functie die beter door mysql_fetch_assoc() vervangen was geweest)
 
Johnny Cash

Johnny Cash

15/01/2015 16:31:14
Quote Anchor link
Ivo P,

Ja dat was heel dom... Er stond inderdaad mysql_result()

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$ProductTitel = mysql_result($resultaat, 0, "prtitel");


En hoe schrijf ik deze dan naar een valid 5.5 versie?
 
Ivo P

Ivo P

15/01/2015 16:59:24
Quote Anchor link
ik zou gebruikt hebben:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

if(mysql_num_rows($resultaat) == 1){
     $row = mysql_fetch_assoc($result);
     $ProductTitel = $row['prtitel'];
     $ProductDesc = $row['prdesc'];
    
     $VanafPrijs = $row['prprijs'];
     $VanafPrijs = number_format($VanafPrijs, 2, ',', ' ');
   }

?>


(en dan het liefst zonder de vars steeds te kopieren, maar a la)

en dan nu op z'n mysql-i's....
 
Johnny Cash

Johnny Cash

15/01/2015 17:04:07
Quote Anchor link
Ik denk dat ik een oplossing heb gevonden.
Zouden jullie mij kunnen vertellen of dit correct is?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
   if(mysqli_num_rows($resultaat) == 1){
     $row = mysqli_fetch_assoc($resultaat);
    
     $ProductTitel = $row["prtitel"];
    
     $VanafPrijs = $row["prijs_1"];
     $VanafPrijs = number_format($VanafPrijs, 2, ',', ' ');
   }


Of hoe het nog efficiënter kan?
 



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.