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.