Mikähän tässä nyt on vikana:
$yhteysa = mysql_connect("$mysql_palvelin", "$mysql_tunnus", "$mysql_salasana");
if($yhteysa)
{
$result4 = mysql_list_tables("$tietokanta");
$num_rows2 = mysql_num_rows($result4);
for ($i = 0; $i < $num_rows2; $i++)
{
if(!mysql_tablename($result4,$i)==$taulu_X)
{
echo "TOIMII";
}
}
}Taulua $taulu_X ei ole tietokannassa, mutta tämä ei nyt tunnista mitään.
Nopeasti katsottuna et ole valinnut mitään tietokantaa (eli $tietokanta on tyhjä). Ja noita muuttujia ei tarvitse, eikä varmaankaan kannata laittaa "-merkkien sisään (ei tosin vaikuta koodin toimivuuteen), eli
$yhteysa = mysql_connect("$mysql_palvelin", "$mysql_tunnus", "$mysql_salasana");
->
$yhteysa = mysql_connect($mysql_palvelin, $mysql_tunnus, $mysql_salasana);
EDIT:
tässä tällainen table_exists-funktio (tällaista kai haet): http://www.phpfreaks.com/quickcode/MySQL-Table-Check/28.php
Bagard kirjoitti:
Nopeasti katsottuna et ole valinnut mitään tietokantaa (eli $tietokanta on tyhjä).
EDIT:
tässä tällainen table_exists-funktio (tällaista kai haet): http://www.phpfreaks.com/quickcode/MySQL-Table-Check/28.php
Finktio mysql_list_tables valitsee tietokannan, korkeintaan tuossa voi sen jälkeen laittaa if($result4) lauseen,jos haluaa varmistaa, että mahdollisista virheistä yhteyksissä ilmoiteaan.
https://www.php.net/manual/fi/function.mysql-tablename.php
Huomasin sellaisen piirteen, että tuo mysql_tablename ilmoittaa, jos taulu on tietokannassa, mutta päinvastainen tapaus temppuilee.
Kiitos hyvästä linkistä!
Aihe on jo aika vanha, joten et voi enää vastata siihen.