Mi lehet a hiba?

Figyelt kérdés

Kiprobaltam egy php leptetot, rendesen mukodik, de ezt irja ki az elso sorban:

Strict Standards: Only variables should be passed by reference in C:\xampp\htdocs\lista.php on line 16


Mi lehet a hiba?


Forraskod:


<?php


$hostname='localhost';

$user='root';

$pass='';

$dbase='valami';

$connection = mysql_connect("$hostname" , "$user" , "$pass")

or die ("Can't connect to MySQL");

$db = mysql_select_db($dbase , $connection) or die ("Can't select database.");

mysql_query( "SET NAMES utf8");



$limit = 25;


$sql = "select count(id) from teszt";

$c = array_shift(mysql_fetch_row(mysql_query($sql)));


$maxpage = ceil($c / $limit);


$page = isset($_GET['page']) ? abs((int)$_GET['page']) : 1;

if ($page <= 0)

{

$page = 1;

}

else if ($page >= $maxpage)

{

$page = $maxpage;

}


$offset = ($page-1) * $limit;


$query = mysql_query("select * from teszt limit $offset, $limit ");


while ($row = mysql_fetch_assoc($query))

{

print $row['elem']."<br />";

}


//lapozó linkek

$linklimit = 10;

$linklimit2 = $linklimit / 2;

$linkoffset = ($page > $linklimit2) ? $page - $linklimit / 2 : 0;

$linkend = $linkoffset+$linklimit;


if ($maxpage - $linklimit2 < $page)

{

$linkoffset = $maxpage - $linklimit;

if ($linkoffset < 0)

{

$linkoffset = 0;

}

$linkend = $maxpage;

}


if ($page > 1)

{

print "<a href='?page=".($page-1)."'>Előző</a> ";

}

for ($i=1+$linkoffset; $i <= $linkend and $i <= $maxpage; $i++)

{

$style = ($i == $page) ? "color: black;" : "color: blue;";

print "<a href='?page=$i' style='$style'>[$i. oldal]</a> ";

}

if ($page < $maxpage)

{

print "<a href='?page=".($page+1)."'>Következő</a>";

}

?>


2013. jún. 27. 18:15
 1/3 anonim ***** válasza:
mi a 16. sor?
2013. jún. 28. 00:38
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Én leszámoltam, és ez:

$c = array_shift(mysql_fetch_row(mysql_query($sql)));


A hibaüzenet pedig az, hogy csak változókat szabad referenciaként átadni.


Te pedig függvényhívást adtál át, ami nem tetszetős az interpreternek.


(Az array_shift() referenciát vár. Lásd doksi.)


Szedd ki egy változóba a függvény visszatérési értékét, és azt add át az array_shift()-nek.

2013. jún. 28. 10:35
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

Egyébként ha végiggondolod, illogikus így hívni az array_shift-et. A lényege az, hogy egy tömböt eltol balra, vagyis kiveszi az 1. elemet és a 2. elemtől fog kezdődni a tömb. A visszatérési értéke pedig a régi 1. elem. A tömböt, amit paraméterben megkap, pedig módosítja. Te a fenti kódban nem is tároltad el a tömböt.


Ha csak a tömb első elemére van szükséged, ne ezt a függvényt hívd, nem erre való. Indexelj inkább.


És RTFM! :)

2013. jún. 28. 10:39
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!