K++Medlem sedan juli 2002183 inlägg
Har lite problem med scopet mellan funktionerna. Hur fixar jag detta?
<?php
class dl{
function anslut($host,$name,$pwd){
$link = mysql_connect($host,$name,$pwd);
}
function select($db){
mysql_select_db($db,$link) or die("Kunde ej v�lja databasen $db");
}
function query($table,$condition,$sort){
$query = "SELECT * FROM $table";
if($condition != "")
$query .= " WHERE $condition";
if($sort != "")
$query .= " ORDER BY $sort";
return mysql_query($query,$link);
}
}
$dl = new dl();
$dl->anslut("localhost","mysql","mysql");
$dl->select("test");
$result = $dl->query("test","","online DESC");
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
?>
MatteMedlem sedan aug. 20002 970 inlägg
Testa så här:
class dl{
var $link;
function anslut($host, $name, $pwd){
$this->link = mysql_connect($host, $name, $pwd);
}
function select($db){
mysql_select_db($db, $this->link) or die("Kunde ej v�lja databasen $db");
}
function query($table, $condition, $sort){
$query = "SELECT * FROM $table";
if($condition != "")
$query .= " WHERE $condition";
if($sort != "")
$query .= " ORDER BY $sort";
return mysql_query($query, $this->link);
}
}
K++Medlem sedan juli 2002183 inlägg
tack, det fungerae, men en fråga till:'
Får fram detta då
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/simple/dl.php on line 35
MatteMedlem sedan aug. 20002 970 inlägg
Endast för felsökning, ändra till:
return mysql_query($query, $this->link) or die("SQL: $query <br>".mysql_error());
Vad får du ut på skärmen ?
Ett tips.
Använd mysql_fetch_assoc($result) istället för mysql_fetch_array($result, MYSQL_ASSOC).
Du får fram samma sak, men det går snabbare.
K++Medlem sedan juli 2002183 inlägg
Fick detta felmedelandet:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/simple/da.php on line 33
"; ?>?>le>\n"; ?>>
Med denna kod
<?php
class dl{
var $link;
function anslut($host, $name, $pwd){
$this->link = mysql_connect($host, $name, $pwd);
}
function select($db){
mysql_select_db($db, $this->link) or die("Kunde ej v�lja databasen $db");
}
function query($table, $condition, $sort){
$query = "SELECT * FROM $table";
if($condition != "")
$query .= " WHERE $condition";
if($sort != "")
$query .= " ORDER BY $sort";
return mysql_query($query, $this->link) or die("SQL: $query <br>".mysql_error());
}
}
$dl = new dl();
$dl->anslut("localhost","mysql","mysql");
$dl->select("abc");
$result = $dl->query("film","","");
echo "<table>\n";
while ($line = mysql_fetch_assoc($result)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
?>
MatteMedlem sedan aug. 20002 970 inlägg
Testa då istället med:
$result = mysql_query($query, $this->link) or die("SQL: $query <br>".mysql_error());
return $result;
K++Medlem sedan juli 2002183 inlägg
Nu fungerade det, även om jag inte tycker att det borde göra det.. :)
MatteMedlem sedan aug. 20002 970 inlägg
Den koden var för felsökning.
Fick du inte fram några felmeddelanden, och allt fungerade, så borde det också fungera med:
return mysql_query($query, $this->link);
Det gör det i vilket fall när jag testar.
jmeMedlem sedan maj 20011 967 inlägg
du får nog det fel för att ett fel händer vid queryn och då sätts $result till false och det är inte en giltig parameter till myslq_fetch_assoc(). Tog mig ett tag att hitta det fel som jag själv hade.
Är van med Java och att metoderna returnerar antingen en sorts typ eller null och inte vad som helst som man kan göra med php. :)