Autor Zpráva
technik
Profil
Pokousim se o jakousi registraci, nejdrive mi to nepoznalo mysqli_(neco) takze jsem to vse nahradil za mysql_(neco) pote se mi objevil nasledujici chyba.

Chyba:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /3w/wz.cz/e/evalion/registration.php  on line 32


Na řádku 32 mám:
 $objekt_vysledku = mysql_query($db_spojeni, "SET NAMES 'utf8'");
Lukáš Kováč
Profil *
technik:
Správne by to malo byť:
$objekt_vysledku = mysql_query("SET NAMES 'utf8'", $db_spojeni);
technik
Profil
Lukáš Kováč:
Díky moc
technik
Profil
<?php 
// -- Připojení k databázi a správné nastavení češtiny --
// Připojení k databázi.

$db_spojeni = mysql_connect ('mysql.webzdarma.cz', 'evalion', '<heslo>', 'uzivatel');

 

// Otestování, zda se připojení podařilo.

if (!$db_spojeni)

{

  echo 'Připojení k databazi se nezdařilo. Omlouváme se';

  echo '<br />';

  echo 'Popis chyby: ', mysql_connect_error();

  exit();

}

// Kontrola stejnosti hesel
if ($_POST['heslo'] == $_POST['heslo1'])
	$heslo = $_POST['heslo'];
else {
	echo "Hesla nesouhlasí";
	}
// Správné nastavení češtiny.

$objekt_vysledku = mysql_query("SET NAMES 'utf8'", $db_spojeni);

if (!$objekt_vysledku)

{

  echo 'Nastavení češtiny se nepodařilo. Omlouváme se';

  echo '<br />';

  echo 'Popis chyby: ', mysql_error ($db_spojeni);

  exit();

}


// -- Vlož nový zápis, pokud byl odeslán formulářem --
// Test, jestli přišla data z formuláře.

if (isset($_POST['zprava']))

{

  // Vytvoření SQL příkazu typu INSERT.

  $sql_prikaz = 

    "INSERT INTO kniha_navstev(datum,jmeno,email,heslo) "

    ."VALUES(NOW(),'"
    .mysql_real_escape_string($db_spojeni,$_POST['jmeno'])

    ."','"

    .mysql_real_escape_string($db_spojeni,$_POST['email'])

    ."','"

    .mysql_real_escape_string($db_spojeni,$heslo)
    ."')"

    ;
  // Zaslání SQL příkazu do databáze.

  $objekt_vysledku = mysql_query($db_spojeni, $sql_prikaz);

 

  if (!$objekt_vysledku)

  {

    echo 'Poslání SQL příkazu do databáze se nezdařilo. Omlouváme se.';

    echo '<br />';

    echo 'Popis chyby: ', mysql_error($db_spojeni);

    exit();

  }

  echo 'Registrace proběhla správně!<br />';

}


// Zaslání SQL příkazu do databáze.

$objekt_vysledku = mysql_query('SELECT jmeno,heslo,email FROM uzivatele', $db_spojeni);

if (!$objekt_vysledku)

{

  echo 'Vypsani informaci o ucte se nezdařilo. Omlouváme se.';

  echo '<br />';

  echo 'Popis chyby: ', mysql_error($db_spojeni);

  exit();

}
// Zobrazení všech vrácených dat.

while ($radek = mysql_fetch_array($objekt_vysledku))

{

  echo '<hr />';

  echo 'Jmeno: ',$radek['jmeno'],'<br />';

  echo 'Email: ',$radek['email'],'<br />';

  echo 'Heslo: ',$radek['heslo'],'<br />';

  echo '<br />';

}

echo '<hr />';


// -- Odpojení od databáze --
// Zavření objektu výsledku, protože už ho nebudeme používat.

mysql_free_result($objekt_vysledku);

 

// Odpojení od databáze.

if ($db_spojeni)

  mysql_close($db_spojeni);
?>
technik
Profil
Když to spustím, napíše mi to:
Vypsani informaci o ucte se nezdařilo. Omlouváme se.
Popis chyby: No database selected
Majkl578
Profil
Není vybrána žádná databáze, za řádek 23 bych přidal:
mysql_select_db('nazevdatabaze');
technik
Profil
Majkl578:
if (!$db_spojeni)

{

  echo 'Připojení k databazi se nezdařilo. Omlouváme se';

  echo '<br />';

  echo 'Popis chyby: ', mysql_connect_error();

  exit();

}
mysql_select_db('uzivatel');


takhle?
Majkl578
Profil
technik:
Ano, argumentem je ale název databáze, ne název uživatele.
technik
Profil
Majkl578:
díky, konečně jsem se hnul z místa, teď jsem u toho že mi to nic nevypíše :-D ale s tim si snad poradim...
technik
Profil
<?php 

// -- Připojení k databázi a správné nastavení češtiny --
// Připojení k databázi.

$db_spojeni = mysql_connect ('mysql.webzdarma.cz', 'evalion', '<heslo>', 'uzivatel');

// Otestování, zda se připojení podařilo.

if (!$db_spojeni)

{

  echo 'Připojení k databazi se nezdařilo. Omlouváme se';

  echo '<br />';

  echo 'Popis chyby: ', mysql_connect_error();

  exit();

}
mysql_select_db('evalion');

// Kontrola stejnosti hesel
if ($_POST['heslo'] == $_POST['heslo1'])
    $heslo = $_POST['heslo'];
else {
    echo "Hesla nesouhlasí";
    }
// Správné nastavení češtiny.

$objekt_vysledku = mysql_query("SET NAMES 'utf8'", $db_spojeni);

if (!$objekt_vysledku)

{

  echo 'Nastavení češtiny se nepodařilo. Omlouváme se';

  echo '<br />';

  echo 'Popis chyby: ', mysql_error ($db_spojeni);

  exit();

}




// -- Vlož nový zápis, pokud byl odeslán formulářem --
// Test, jestli přišla data z formuláře.

if (isset($_POST['zprava']))

{

  // Vytvoření SQL příkazu typu INSERT.
  $sql_prikaz = 

    "INSERT INTO uzivatel(datum,jmeno,email,heslo) "
    ."VALUES(NOW(),'"
    .mysql_real_escape_string($_POST['jmeno'], $db_spojeni)
    ."','"
    .mysql_real_escape_string($_POST['email'], $db_spojeni)
    ."','"
    .mysql_real_escape_string($heslo, $db_spojeni)
    ."')"
    ;
  // Zaslání SQL příkazu do databáze.

  $objekt_vysledku = mysql_query($sql_prikaz, $db_spojeni);

  if (!$objekt_vysledku)

  {

    echo 'Poslání SQL příkazu do databáze se nezdařilo. Omlouváme se.';
    echo '<br />';
    echo 'Popis chyby: ', mysql_error($db_spojeni);
    exit();
  }

  echo 'Registrace proběhla správně!<br />';

}


// Zaslání SQL příkazu do databáze.

$objekt_vysledku = mysql_query('SELECT jmeno,heslo,email FROM uzivatel', $db_spojeni);

if (!$objekt_vysledku)

{

  echo 'Vypsani informaci o ucte se nezdařilo. Omlouváme se.';

  echo '<br />';

  echo 'Popis chyby: ', mysql_error($db_spojeni);

  exit();

}


// Zobrazení všech vrácených dat.

while ($radek = mysql_fetch_array($objekt_vysledku))

{

  echo '<hr />';

  echo 'Jmeno: ',$radek['jmeno'],'<br />';

  echo 'Email: ',$radek['email'],'<br />';

  echo 'Heslo: ',$radek['heslo'],'<br />';

  echo '<br />';

}

echo '<hr />';

// -- Odpojení od databáze --
// Zavření objektu výsledku, protože už ho nebudeme používat.

mysql_free_result($objekt_vysledku);

// Odpojení od databáze.

if ($db_spojeni)

  mysql_close($db_spojeni);
?>



Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: