sql >> Databáze >  >> RDS >> Mysql

Pole Mysql nefunguje

Nejprve prosím přestaňte používat mysql_ funkce, protože jsou zastarávány . Podívejte se do mysqli_ nebo PDO . Uvědomte si, že váš skript je zranitelný vůči SQL injection.

Důvod, proč váš skript nefunguje, je ten, že se zdá, že voláte mysql_fetch_assoc dvakrát. Když jej zavoláte podruhé, nebude žádný výstup, pokud váš dotaz vrátí pouze jeden řádek.

$qry=("SELECT `rank`,  `uname` FROM users WHERE `uname` = '$user'");
$result=mysql_query($qry);
$row = mysql_fetch_assoc($result);
$rank = $row['rank'];

Budete muset znovu odeslat dotaz (něco jako níže) a zavolat tento výsledek samostatně, aby se naplnil rozbalovací seznam, nebo uložit výsledek do pole.

$qry=("SELECT `uname` FROM users");
$result=mysql_query($qry);
while ($row = mysql_fetch_assoc($result)) {
      echo '<option>' . ucwords($row['uname']) . '</option>';
     }


  1. Proč jádro MyISAM MySQL nepodporuje cizí klíče?

  2. Jak PERIOD_ADD() funguje v MariaDB

  3. Visual Studio:ContextSwitchDeadlock

  4. Jak uložit obousměrné vztahy v RDBMS, jako je MySQL?