problemen php 5.2 vs 5.5
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)
1
2
3
4
5
6
7
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, ',', ' ');
}
$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.
Hierin is $verbinding de variable om verbinding te maken met de database.
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
$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)
Ja dat was heel dom... Er stond inderdaad mysql_result()
En hoe schrijf ik deze dan naar een valid 5.5 versie?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
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, ',', ' ');
}
?>
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....
Zouden jullie mij kunnen vertellen of dit correct is?
Code (php)
1
2
3
4
5
6
7
8
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, ',', ' ');
}
$row = mysqli_fetch_assoc($resultaat);
$ProductTitel = $row["prtitel"];
$VanafPrijs = $row["prijs_1"];
$VanafPrijs = number_format($VanafPrijs, 2, ',', ' ');
}
Of hoe het nog efficiënter kan?