14. december 2014 - 19:13
Der er
11 kommentarer og 1 løsning
mysql_result($sql, 0) med mysqli
Hej Er lige startet på at bruge mysqli ( på tide iøvrigt! ) En ting jeg ikke kan finde, er muligheden for at bruge den gamle mysql_result($query, 0) ? Vil f.eks. gerne lave en count() for at finde antal rows $sql = "SELECT COUNT(*) FROM tabel WHERE id > 1"; Med den "go'e" gamle var det bare: $query = mysql_query($sql); $antal = mysql_result($query,0); Nogen løsninger andet end at bruge en while() ?
Annonceindlæg fra QNAP
14. december 2014 - 19:52
#1
mysqli_fetch_all og [0][0] ?
14. december 2014 - 20:08
#2
Eller bruge mysqli_num_rows($antal)
14. december 2014 - 20:09
#3
Og så bruge: $sql = "SELECT * FROM tabel WHERE id > 1";
14. december 2014 - 20:34
#4
Leif: Vil gerne lave en COUNT() i stedet for SELECT x-antal rows. arne_v Har kikket i manual og på nettet, men jeg får det ikke til at funke. $counter = ""; if ($new = $mysqli->prepare("SELECT COUNT(*) as ialt FROM tabel WHERE vist IS NULL AND kunde_id = ?")) { $new->bind_param("i", $kunde_id); $kunde_id = $_GET[$linkprefix]; $new->execute(); // Hvordan skrives koden her så $counter får en værdi? $new->close(); }
14. december 2014 - 20:48
#5
Utestet: $count = $new->fetch_result()->fetch_all()[0][0];
14. december 2014 - 21:04
#6
Jahh, virker desværre ikke arne_v Går i seng nu efter min 1. dag med mysqli (skal tidligt op)
14. december 2014 - 21:12
#7
$res = $new->fetch_result(); $all = $res)->fetch_all(); $count = $all[0][0];
15. december 2014 - 04:58
#8
Virkede heller ikke, arne_v. Men fandt da ud af det: $counter = ""; if ($stmt = $mysqli->prepare("SELECT COUNT(*) as ialt FROM tabel WHERE vist IS NULL AND kunde_id = ?")) { $stmt->bind_param("i", $kunde_id); $kunde_id = $_GET[$linkprefix]; $stmt->execute(); $stmt->bind_result($ialt); $stmt->fetch(); $counter = $ialt; $stmt->close(); } Ved ikke om det er korrekt kodet, men det virker! :O) Smid et svar begge to. Jeg kom jo også lige rundt om num_rows i mine forsøg, og den skal jeg jo nok bruge en gang.
30. december 2014 - 19:58
#9
Arrgghhh, må jeg ikke godt få et par svar ? Måske jeg nok ikke fik "koden", men jeg blev klogere alligevel, takket være jeres input !!!
01. januar 2015 - 22:48
#10
Jeg har lige testet her. $n = $stmt->get_result()->fetch_all()[0][0]; virker.
01. januar 2015 - 22:48
#11
og et svar
04. januar 2015 - 06:27
#12
Ja, det virker også! if ($stmt = $mysqli->prepare("SELECT COUNT(*) as ialt FROM tabel WHERE aktiv = 2 AND kunde_id = ?")) { $stmt->bind_param("i", $kunde_id); $kunde_id = $_GET[$linkprefix]; $stmt->execute(); $n = $stmt->get_result()->fetch_all()[0][0]; $stmt->close(); }
Computerworld tilbyder specialiserede kurser i database-management