mysql_query mit LIMIT

Sublig

Mitglied
Hey,
ich habe in einer Datenbank verschiedene Links gespeichert, welche alle mit einer ID gekennzeichnet sind. Da aber manche Links gelöscht werden gibt es bei den IDs Lücken. Deswegen kann ich nicht einfach alle Datensätze auslesen indem ich ID 1 bis zum Beispiel ID 10 auslese.
Um diese Problem wollte ich jetzt LIMIT benutzen:
PHP:
<?php

require_once('db_config.php');

mysql_connect($host, $user, $pass);

mysql_select_db($dbase);

$result = mysql_query("SELECT * FROM `Links` LIMIT 0, 30 ");

   echo $result; 
    
?>

Jedoch spuckt bei mir jetzt $result folgendes aus: Resource id #4

Was mach ich falsch?
Denn eigentlich hätte ich gerne, dass da jetzt die Inhalte der Datensätze stehen!


Mfg
 
mysql_query() gibt immer ein Ergebnis-Set zurück (oder eigentlich einen Zeiger). Du musst dieses Ergebnis-Set noch mit mysql_fetch_array(), mysql_fetch_assoc() oder mysql_fetch_row() iterieren:

PHP:
$result = mysql_query("SELECT * FROM `Links` LIMIT 0, 30 ") or die( mysql_error() );

while( $zeile = mysql_fetch_assoc( $result ) )
{
  // Sollte pro Zeile nun alle Spalten der Tabelle "Links" ausgeben.
  //var_dump($zeile); 

  // oder einzelne Spalte ausgeben:
  echo $zeile['id'];
}
 
Und schon hab ich wieder ein Problem....

PHP:
<?php


require_once('db_config.php');



mysql_connect($host, $user, $pass);


mysql_select_db($dbase);

$iLimit1 = mysql_real_escape_string($HTTP_GET_VARS['iLimit1']);
$iLimit2 = mysql_real_escape_string($HTTP_GET_VARS['iLimit2']);


$result = mysql_query("SELECT * FROM `Links` LIMIT $iLimit1, $iLimit2 ") or die( mysql_error() );
 
while( $zeile = mysql_fetch_assoc( $result ) )
{


$zeile['Coins'] = $Coins

if ($Coins = 0) { 
  mysql_query("DELETE FROM Links (`ID`) VALUES ('$zeile['ID']')")
 } 	

}

?>

Fehlermeldung: Parse error: syntax error, unexpected T_IF in /users/sublig/www/DB/LinksLesen.php on line 25

Wäre nett wenn mir wieder jemand helfen könnte, bin leider noch ein totaler Anfänger!
 
Danke!
Nächstes Problem mit dem ich auch wieder nichts anzufangen weiß:

Script:
PHP:
<?php


require_once('db_config.php');



mysql_connect($host, $user, $pass);


mysql_select_db($dbase);

$iLimit1 = mysql_real_escape_string($HTTP_GET_VARS['iLimit1']);
$iLimit2 = mysql_real_escape_string($HTTP_GET_VARS['iLimit2']);


$result = mysql_query("SELECT * FROM `Links` LIMIT $iLimit1, $iLimit2 ") or die( mysql_error() );
 
while( $zeile = mysql_fetch_assoc( $result ) )
{


$zeile['Coins'] = $Coins;

if ($Coins = 0) 
{ 
  mysql_query("DELETE FROM Links (`ID`) VALUES ('$zeile['ID']')");  //Zeile 27******
 }	

}

?>

Fehlermeldung: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /users/sublig/www/DB/LinksLesen.php on line 27
 
Das ist durch die schauderhafte Mischung von " und '
Machs zB. so:
PHP:
mysql_query("DELETE FROM Links (`ID`) VALUES (".$zeile['ID'].")");
Im if darüber...wenn du vergleichen willst: Doppeltes ==

Gruß

edit: 3000 :D
 
Danke!

Meine Zahlen die ich durch $zeile['ID'] bekomme haben einen komischen Quelltext, ich glaub daran liegt es, dass es immer noch nicht so klappt wie ich will.

Könnte sich ja mal einer anschauen: http://sublig.bplaced.net/DB/LinksLesen.php?iLimit1=0&iLimit2=1

Script:
PHP:
<?php


require_once('db_config.php');



mysql_connect($host, $user, $pass);


mysql_select_db($dbase);

$iLimit1 = mysql_real_escape_string($HTTP_GET_VARS['iLimit1']);
$iLimit2 = mysql_real_escape_string($HTTP_GET_VARS['iLimit2']);


$result = mysql_query("SELECT * FROM `Links` LIMIT $iLimit1, $iLimit2 ") or die( mysql_error() );
 
while( $zeile = mysql_fetch_assoc( $result ) )
{


//$zeile['Coins'] = $Coins;
//$zeile['ID'] = $ID;

echo $zeile['ID'];



if ($Coins == 0) 
{ 
  mysql_query("DELETE FROM `sublig`.`Links` WHERE `Links`.`ID` = 10"); 
 }	

}

?>
 
Damit meine ich das die ID 6 komisch versetzt ist..

Edit: Ich habe es jetzt anders gelöst, aber danke nochmal!
 
Zuletzt bearbeitet:
Zurück