Autor Zpráva
Alastor_Kopal
Profil *
mám chybu v sql ale nvím kde
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in (adresa) on line 21

<?php
session_start(); // Startujeme session
$heslo = $_SESSION['heslo'];
$novheslo = $_POST["heslo"];
$id = $_SESSION['id'];
  // tělo skriptu - nejprve si vytvoříme odkaz na databázi
  $link= include 'db.php';
  mysql_select_db(kx_evil_quest);
  
  $BudemeZobrazovat=true;
  if (!empty($_POST)) // už se odeslalo
  {
    if ((strlen ($_POST["heslo"])>50) | strlen ($_POST["heslo"])<3) echo "Heslo musí mít 3-50 znaků";
    else
    {
      // kontolou jsme prošli
      $BudemeZobrazovat=false;
      // poděkujeme uživateli
      echo "Vaše heslo bylo změněno";
      // uložíme změny do databáze
      if (isset($_SESSION["id"])) mysql_query ("update dobro set heslo = '$novheslo' where id='$id';", $link); (tento řádek je šatně)
    }
  }
if ($BudemeZobrazovat):?>
  <?php
session_start(); // Startujeme session
$heslo = $_SESSION['heslo'];
 echo " <form method=\"post\" action=\"profilvzor.php\">
  <table>
    <tr>
      <td>Nové heslo:</td>
      <td><input name=\"heslo\" type =\"text\" value=\"$heslo\"></td>
    </tr>
    <tr>
      <td colspan=\"2\"><input type=\"Submit\" name=\"odesli\" value=\"Změnit heslo\"></td>
    </tr>
  </table>
  </form>";
?>
<?endif;?>
Nox
Profil
chyba není v sql, máš to tam napsané, špatně je link (stejně asi nemáš zaplé mysql.trace, takže chybu v query by ti to myslím nevypsalo)
$link je šatně, takže var_dump($link)...co je v db.php?
Joker
Profil
Alastor_Kopal
Proměnná $link neobsahuje databázové připojení.
Do $link se kopíruje výsledek příkazu include 'db.php', tj. hodnota vrácená ze skriptu příkazem return. Tipoval bych, že ten vkládaný skript nic nevrací.

Správně by v $link měl být výsledek mysql_connect.
Další možnost je se na to vykašlat a ten $link smazat, pak se použije poslední otevřené spojení, což pro 99,999% skriptů, kde se používá jen jedno připojení, je dostačující.
Alastor_Kopal
Profil *
jaj diki moc oddělal jsem link a funguje to
Toto téma je uzamčeno. Odpověď nelze zaslat.