Autor Zpráva
Fio
Profil *
Ahojte,

začínám se učit php a mysql.
Mám knihu PHP programujeme profesionálně a z ní jsem chtěl použít následující příklad.


<HTML>
<!-- mysql_test.php -->
<?
$user="root";
$host="localhost";
$password="";

mysql_connect($host,$user,$password);

mysql_select_db($database);

$query=StripSlashes($query);

$result = mysql_query($query);
?>

Results of query <B><? echo($query); ?></B><HR>

<?
if ($result == 0):
echo("<B>Error " . mysql_errno() . ": " . mysql_error() . "</B>");
elseif ($result == 1):
echo("<B>Query executed successfully!</B>");
else:
?>
<TABLE BORDER=1>
<THEAD>
<TR>
<?
for ($i = 0; $i < mysql_num_fields($result); $i++) {
echo("<TH>" . mysql_field_name($result,$i) . "</TH>");
}

?>
</TR>
</THEAD>
<TBODY>

<?
for ($i = 0; $i < mysql_num_rows($result); $i++) {
echo("<TR>");
$row_array = mysql_fetch_row($result);
for ($j = 0; $j < mysql_num_fields($result); $j++) {
echo("<TD>" . $row_array[$j] . "</TD>");
}
echo("</TR>");
}
?>

</TBODY>
</TABLE>
<?
endif
?>
<HR><BR>
<FORM ACTION=query.php METHOD=POST>
<INPUT TYPE=SUBMIT VALUE="New query">
</FORM>
</HTML>

-------------------------------------------------------------------

<HTML>
<!-- query.php -->
<FORM ACTION="mysql_test.php" METHOD=POST>
Please select the database for the query:<BR><BR>
<SELECT NAME=database SIZE=1 STYLE="width:100">
<?
$host="localhost";
$user="root";
$password="";

mysql_connect($host, $user, $password);
$db_table = mysql_list_dbs();

for ($i = 0; $i < mysql_num_rows($db_table); $i++) {
echo("<OPTION>" . mysql_tablename($db_table, $i));
}
?>
</SELECT><BR><HR>

Please input the SQL query to be executed:<BR><BR>
<TEXTAREA NAME="query" COLS=50 ROWS=10></TEXTAREA>
<BR><BR>
<INPUT TYPE=SUBMIT VALUE="Execute query!">
</FORM>

</HTML>

---------------------------------------------------------------------- ----


V mySQL mám:
- pět databází s naplněným obsahem.
- uživatel root má povolené přihlašování bez hesla


Při odeslání formuláře s SQL dotazem např. SELECT * FROM 'database_name'
Se mi pouze nápíše chybové hlášení:
Error 1065: Query was empty

Vážně nemám tucha proč to nefunguje.
Přitom je to učebnicový příklad.

Jestli to někdo testnete a zjistíte v čem by mohl být případný problém nebo jestli někdo víte co a jak, tak mi prosím dejte vědět.
Začínám pomalu šedivět..... :-(

Díky moc, F.
Hugo
Profil
Není problém v register_globals?

zkus použít

$query=StripSlashes($_POST['query']);
bitbit
Profil
Update: ani necist. Je to blbost.

chyba je v tom zacatku

$conn=mysql_connect($host,$user,$password);

$data=mysql_select_db($database);

$query = MySQL_Query("SELECT * FROM $tabulka ORDER BY id");
// tenhle radek ti tam chybi, samozrejme si ho uprav podle potreby a co chces tahat. Tu chybu ti to hlasilo, protoze po spojeni s databazi si hned precoval s $query a pritom jsi do nej nic nedal z databaze

$query=StripSlashes($query);

$result = mysql_query($query);

Update: hups pisu blbosti co je nahore neber vazne. Ja si nevsim toho druhyho souboru toho query.php
error414
Profil
SELECT * FROM 'database_name'
a nema tam byt¨

SELECT * FROM 'table_name'???
Fio
Profil *
Tak mě napadlo, jestli to nemůže být třeba tím, že ta kniha, ve které je to CD a ten příklad je trochu starší a třeba je napsán v php3 a jám mám naistalovanou verzi php4.

Co myslíte?
Zkuste to testnout na vašem localhostu.

F.
Fio
Profil *
Jinak díky moc za tipy. Zkusím všechno...
a uvidíme.

F.
bitbit
Profil
ne to nejspis neni. ja tu knihu taky mam, a neco jsem zkousel na php5 a fungovaly. Ale ja mam druhy vydani, ktery by melo bejt optimalizovany na php4. A pokud vim tak ta kniha jiz v prvnim vydani mluvila o php4.
error414
Profil
hod sem i tu tabulku
Fio
Profil *
Problém vyřešen..... hurá!!!

bylo to způsobem předávání hodnot proměnné.
S tímhle už to funguje...

$query=StripSlashes($_POST['query']);


Díky Hugo


Vlastně díky všem za sanhu pomoct.
F.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0