webForumDet fria alternativet

Undefined Const

PHPur PHP

8 svar · 249 visningar · startad av tronez

Medlem sedan juli 2001728 inlägg
Frågan#1
Notice: Use of undefined constant main - assumed 'main' in C:\Program\Apache Group\Apache2\htdocs\pj\index.php on line 51
$dbq = mysql_db_query("idrestugor_se", "SELECT main FROM texter");
	      		    $result = mysql_fetch_array($dbq);	
					
					$write = $result[main];
					$str = nl2br($write);
				
					print $str;

denna kod får jag fel på $write = $result[main]; ? vad är det som e fel?

Medlem sedan mars 20025 907 inlägg
#2
$write = $result['main'];
Medlem sedan juli 2001728 inlägg
#3

oh... man tackar än en gång Peeer! :bire

Medlem sedan mars 20025 907 inlägg
#4

:)

Medlem sedan juli 2003169 inlägg
#5

Peer löste mitt problem också. Ibland gäller det att använda sök funktionen här på webForum. :)

Det konstiga är att i boken så använder dom inte dom här ['funuttarna']. Är det något som har kommit med dom nyare versionerna eller what's the deal with it?

Medlem sedan mars 20025 907 inlägg
#6

Det är inte så att de har en variabel/konstant innanför [] istället för en sträng då? Då ska det inte vara några fnuttar
$write = $result['main']; <- sträng
$write = $result[$main]; <- variabel
$write = $result[main] <- konstant;

Medlem sedan juli 2003169 inlägg
#7

Såhär ser koden ut:

<?
# Ansluter till databasen
$länk = @mysql_connect ("localhost", "root")
or die ("Kunde inte ansluta");
echo ("Ansluten"). "<br>";
$databas = mysql_select_db ("mindb");
$sql = "SELECT * FROM person";
$result = mysql_query("$sql");
while ($rad = mysql_fetch_array($result)) {
echo "ID: ".$rad['id']. " Namn: " .$rad['fnamn']. " Adress: " .$rad['adress']. "<br>";
}
mysql_close($länk);
?>

Men om jag hade istället skrivit så som det står i boken får jag ett felmeddelande Undefined const.

Såhär ser koden ut i boken av nån konstig anledning:

echo "ID: ".$rad[id]. " Namn: " .$rad[fnamn]. " Adress: " .$rad[adress]. "<br>";

Medlem sedan aug. 20002 975 inlägg
#8

Det är ett äldre sätt att skriva.
Det ska vara fnuttar med, men för bakåtkompabilitetens skull är det tillåtet utan fnuttar.
PHP antar då att det är en sträng, om det inte finns en konstant med samma namn, använder strängen och genererar samtidigt en notis.
På många Webbservrar är visning av notiser inte påslaget, och ingenting märks i skriptet.

Det är alltså tillåtet att skriva utan fnuttar, men inte att rekommendera.

Medlem sedan juli 2003169 inlägg
#9

Jahaaa....Tack Matte. Nu har jag lite mera koll här.

139 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)