My SQL Abfrage *g*

Worka

Mitglied
Sorry leute das ich ecuh mit so einer wahrscheilich simplen Frage, fragen muss...

Wie mache ich eine MY SQL Abfrage, das er die ID nimmt, die ich mit in der Adresse eingebe...

z.B. http://localhost/list.php?id=2

hier ab ich mein code, vielleicht könnt ihr den ja gleich so um ändern das es geht

PHP:
<?
 
mysql_connect("localhost","xxxx","xxx");
mysql_select_db("xxxx");

$result = mysql_query("SELECT * FROM maschinen");
$num = mysql_numrows($result); 
  
$geraet = mysql_result($result, $id, "geraet");
$typ = mysql_result($result, $id, "typ");

echo $geraet;      
                
?>
 
Folgendes wäre möglich:
PHP:
<?php
  $id = ( isset($_GET['id']) && is_int(intval($_GET['id'])) && intval($_GET['id'])>0 )
    ? intval($_GET['id'])
    : FALSE;

  mysql_connect("localhost", "xxxx", "xxx");
  mysql_select_db("xxxx");

  $query = "
	SELECT
	        *
	  FROM
	        `maschinen`
	  WHERE
	        `id` = ".$id."
	";
  $result = mysql_query($query);
  [...]
?>

Achja, folgendes könnte von Interesse sein:
&nbsp;&rsaquo;&rsaquo;&nbsp;FAQ der Newsgroups de.comp.lang.php.* - 16.14._Warum soll ich nicht SELECT * schreiben?
 
ledier nich

geht leider noch nicht....... :o( irgendwo steckt der wurm da drin.. der fehler ist immer erst nach dem $result , also bei

$geraet = ...........


Vielleicht noch einen kleinen Vorschlag, aber dank für die IDee
 
Wie schon tausendmal erwähnt - [phpf]mysql_error[/phpf] verwenden, um den Fehler in der SQL-Anweisung ausfindig zu machen. Ausserdem: Ist das Feld "ID" nummerisch? Wenn nicht, den Vergleichswert in Singelquotes einfassen.

snuu
 
hab ich gemacht

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 2 on MySQL result index 4 in D:\php5xampp-dev\htdocs\maschinendatenbank\update.php on line 32

so ist der code nun:

PHP:
<?php 
  $id = ( isset($_GET['id']) && is_int(intval($_GET['id'])) && intval($_GET['id'])>0 ) 
    ? intval($_GET['id']) 
    : FALSE; 

  mysql_connect("localhost","xxxx","xxxx");
  mysql_select_db("xxxx");

  $query = " 
    SELECT 
            * 
      FROM 
            `maschinen` 
      WHERE 
            `id` = ".$_GET['id']." 
    "; 
  
$result = mysql_query($query); 

      $geraet = mysql_result($result, $_GET['id'], "geraet");
  
 echo $geraet;    

?>


Jetzt soll er mri eigentlich " BOSCH " aus der spalte "geraet" ausspucken ..


Gruß Stefan

.. und danke für eure Mühe
 
Wie baue ich den denn beim $query ein , dieses mysql_err()

PHP:
<?php 
  $id = ( isset($_GET['id']) && is_int(intval($_GET['id'])) && intval($_GET['id'])>0 ) 
    ? intval($_GET['id']) 
    : FALSE; 

$link = mysql_connect("localhost", "xxxxx", "xxxxxx");

mysql_select_db("xxxx", $link);
echo mysql_errno($link) . ": " . mysql_error($link). "\n";


  $query = " 
    SELECT 
            * 
      FROM 
            `maschinen` 
      WHERE 
            `id` = ".$_GET['id']." 
    "; 
 
$result = mysql_query($query); 

      $geraet = mysql_result($result, $_GET['id'], "geraet");
     
           
      
?>
 
PHP:
<?php
  $id = ( isset($_GET['id']) && is_int(intval($_GET['id'])) && intval($_GET['id'])>0 )
    ? intval($_GET['id'])
    : FALSE;

$link = mysql_connect("localhost", "xxxxx", "xxxxxx");

mysql_select_db("xxxx", $link);
echo mysql_errno($link) . ": " . mysql_error($link). "\n";


  $query = "
    SELECT
            *
      FROM
            `maschinen`
      WHERE
            `id` = ".$_GET['id']."
    ";

$result = mysql_query($query) OR die(mysql_error()); 
 /*
Durch das die() 'strirbt' das Script und der Fehler kommt , wenn das Query nicht ausgefürht werden konnte.
*/.

      $geraet = mysql_result($result, $_GET['id'], "geraet");
     
           
      
?>
 
Zuletzt bearbeitet:
du hast doch schon ein echo vn mysql_error() drin...

ergo dann einfach

PHP:
$result = mysql_query($query) or die (mysql_error()); 

//oder
$result = mysql...
if( ! is_resource($result) )   bzw. if( !$result)
 die(mysql_error());
 
Zurück