[Gelöst] PHP / MYSQL PROBLEM Fehler im code

Hey Leute,

Also ich hab hier ein kleines Script.

Es soll folgendes tun.

Bei Eingabe der angaben zum Formular wechseln, das dann die werte in die MySQL einträgt aber es trägt nichts ein und gibt keine Fehlermeldung aus.

<?php

if(isset($_POST['updaten']))
{
include "db.php";

  mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

$count = $_GET['ab'];
$zahl = $_GET['bis'];
$zahl++;
for($count; $count < $zahl; $count++)
  {
$var = id.$count;
echo $var;
$st = $_POST['st'];
$url = $_POST[$count];
$aendern = "
UPDATE db-southpark_s".$st." SET bs_url ='".$url."' WHERE `id` ='".$count."'";

mysql_query($aendern);
if(mysql_query == TRUE)
   {
       echo "Erfolgreich";
   }
  }
unset($_POST['updaten']);
}
else{
if(isset($_GET['angaben']))
{
$count = $_GET['ab'];
$zahl = $_GET['bis'];
$zahl++;
echo '<form action="#" method="post">';
for($count; $count < $zahl; $count++)
  {
$var = id.$count;
echo $var;
?>
<input size="150" type="text" name="<?=$count?>" />

    <br />
    <?php

  }
  ?>
<input type="text" name="st" />
<input type="submit" name="updaten"/>
</form>
<?php
}
else{
 ?>
<form action="#" method="get">
Ab:<input type="text" name="ab" />
Bis:<input type="text" name="bis" />
<input type="submit" name="angaben" />
</form>
<?php
}
}
?>

Wenn ich das richtig verstehe, wird das erste [nach chronologischer Reihenfolge] Formular per GET übermittelt, das zweite per POST. Beim Eintragen fragst du aber ab und bis per GET ab. Die werden natürlich nicht weitergeleitet. Du müsstest also beim zweiten Formular ungefähr sowas notieren:

Hoffe ich habs richtig verstanden.
Mfg

Leider hat es nicht geklappt.

Jetzt setze ich es mit SESSION um.

aber ich habe Probleme mit der UPDATE Funktion:

Hier müsste mir jemand die Variablen einsetzen damit ich weis wie ich die setzen muss…

$tablle
$bs
$count << funktioniert Wenns die einzige variable ist sonst trägt es nichts ein

$bs = $_POST[$count];
$sql = 'UPDATE `db704680-main`.`test` SET `bs_url` = \`'.$bs.'\` WHERE `test`.`id` = '.$count.' LIMIT 1;';
echo $sql;
mysql_query($sql);
if(mysql_query($sql) == TRUE)
{
    echo "Erfolg";
}
else
{
    echo "FAIL";
}

Danke für die Schnelle Antwort.

mysql_query($sql); if(mysql_query($sql) == TRUE) { //...
Jedesmal, wenn du mysql_query() dort stehen hast, wird die SQL Abfrage an MySQL gesendet. Selbst wenn diese in einer If-Abfrage steht.
Etwas in der Form wäre da besser:

$result = mysql_query($sql); if($result == TRUE) { //...

und zum Update:

Ich habe für den String doppelte Anführungsstriche verwendet.
Und du darfst diese Zeichen nicht verwechseln: ` und '
Das erste (Gravis) wird (in MySQL) nur für das maskieren von Datenbanknamen, Tabellennamen und Feldnamen verwenden. Für die Werte musst du das zweite (Einfacher Anführungsstrich) wird für Werte verwendet, z.B. dem Wert der Variable $bs.

mfg Balmung

VIELEN DANK an euch.

Ich habs nich hinbekommen aber jz^^