sql variabelen
is de error die ik krijg bij de code:
Code (php)
1
2
3
4
2
3
4
<?php
$select = mysql_query("SELECT naam FROM users WHERE naam = " . $naam);
$row = mysql_fetch_array($select);
?>
$select = mysql_query("SELECT naam FROM users WHERE naam = " . $naam);
$row = mysql_fetch_array($select);
?>
als ik die code dan weer verander in:
Code (php)
1
2
3
4
2
3
4
<?php
$select = mysql_query("SELECT naam FROM users WHERE naam = '$naam'");
$row = mysql_fetch_array($select);
?>
$select = mysql_query("SELECT naam FROM users WHERE naam = '$naam'");
$row = mysql_fetch_array($select);
?>
werkt alles wel correct...
kan iemand mij dit uitleggen aub, het gebruik van de juiste quotes hebben mij nooit goed gelegen.
Gewijzigd op 01/01/1970 01:00:00 door Claus
want ik heb altijd geleerd dat in een sql query de variabelen nooit binnen de quotes moeten staan?
Bumpen::
SanThe.
Wat denk je van de enkele quotes die je bij de één wel hebt en bij de ander niet.
maar wat ik nu dacht, en volgens mij logisch zou zijn, is dat hij nu zoekt naar de string $naam ipv de waarde van de variabele $naam.
ik vond het alleen raar en dacht dat ik het beter zou begrijpen met wat uitleg, maar moet niet perse, het werkt, en dat is goed genoeg =)
srry voor de bump ;)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$sql = "SELECT naam
FROM users
WHERE naam = '" . mysql_real_escape_string($naam) . "'");
$result = mysql_query($sql);
if(!$result)
{
// Verdere foutafhandeling
}
$row = mysql_fetch_array($result);
?>
$sql = "SELECT naam
FROM users
WHERE naam = '" . mysql_real_escape_string($naam) . "'");
$result = mysql_query($sql);
if(!$result)
{
// Verdere foutafhandeling
}
$row = mysql_fetch_array($result);
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
als je een functie in een variabele zet
(in dit geval "$result = mysql_query($sql);"), word die functie dan ook meteen uitgevoerd, of gebeurd dat pas als je de variabele oproept?
Nee, die functie moet uitgevoerd worden om de variabele te kunnen vullen. Dus dat gebeurt direct.
ok, heel erg bedankt ;D