Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 4 pytania
Ka-lolek
post
Post #1





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 26.01.2005

Ostrzeżenie: (0%)
-----


Witam, mam kilka pytań
1.
uczę się php i mysql i mam pewien problem:

stworzyłem formularz(plik do_showfielddef.php), w którym definiuje pola tabeli, która ma być stworzona, a następnie w pliku do_createtable.php wykonane mają byc instrukcje sql, aby tabela została stworzona w mojej bazie...

Błąd następuje po wypełnieniu formularza z polami tabeli (do_showfielddef.php) i przesłania go do pliku do_createtable.php.

Treść błędu jest taka:
Kod
Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\do_createtable.php on line 34


a kod pliku do_createtable.php to:
Kod
<!--HEADER-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<META HTTP-EQUIV="Creation-date" CONTENT="2002.03.16">
<META HTTP-EQUIV="Reply-to" CONTENT="adres zwrotny">
<META NAME="Description" CONTENT="opis dokumentu">
<META NAME="Author" CONTENT="autor dokumentu">
<META NAME="Generator" CONTENT="Zajączek 3.0">
<TITLE>Utwórz tabelę bazy danych: Etap 3</TITLE>
</HEAD>
<BODY>

<h1>Dodawanie tabeli <?php echo "$_POST[table_name]"; ?> </h1>
<?php
$sql = "CREATE TABLE $table_name (";

// dodaje do instrukcji sql pola tabeli , ich typ i dł jeżeli była podana

for ($i = 0; $i < count($_POST[field_name]); $i++) {
$sql .= $_POST[field_name][$i]." ".$_POST[field_type][$i];
     if ($_POST[field_length][$i] != "") {
        $sql .= " (".$_POST [field_length][$i]."),";
        }
     else {
          $sql .= ",";
          }
}
$sql = substr($sql, 0, -1);
$sql .= ")";

//utwórz połączenie
$conn = mysql_connect("localhost","root","root") or
die(mysql_error());
//wybierz baze danych
$db = mysql_select_db("MyDB", $conn) or die(mysql_error());
//wykonaj zapytanie sql i pobierz wyniki
$sql_result = mysql_query($sql,$conn) or die(mysql_error());
//wyświetl komunikat o powodzeniu
if ($sql_result) {
echo "<p>$_POST[table_name] została utworzona!</p>";
}
?>


</body>
</HTML>

mam nadzieję, że wszystko opisałem w miare jasno...
zapewne błąd jest prosty, ale jako nowicjusz nie potrafię go znaleźć;)

2.
nie wiem czy mam włączone mysql na kompie, ponieważ kilka dni temu to zainstalowałem i nie wiem czym to się dokładnie włącza;) poki co stworzyłem tam bazę i mam włączoną mysql command line clienta , ale nie wiem czy to wystarczy żeby serwer mysql był uruchomiony i możnabyło się z nim łączyć:)

3.
możecie mi powiedzieć czemu w fragmencie kodu:
Kod
$sql .= $_POST[field_name][$i]." ".$_POST[field_type][$i];

i
Kod
$sql .= " (".$_POST [field_length][$i]."),";

sa kropki przy zmiennych $_POST[field_name, type, length](IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
nie weim do czego one służą...

4.
jeżeli z pliku php chcę połączyć się z bazą , to muszę wpsać host, login do bazy i hasło. Jednak jak to zrobić żeby to hasło nie było widoczne dla innych? przecież każdy może zobaczyć sobie kod źródłowy i będzie znać hasło... nie wiem czy dobrze rozumuję;) sprostujcie mnie w razie czego, albo podajcie jak się to rozwiązuje...

Pozdrawiam
proszę o pomoc
Ka-lolek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


No do dobrze pisza, powinien (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ehhh... dopiero w wersji angielskiej jest to co trzeba:
http://pl.php.net/manual/en/ref.mysql.php
Cytat
php 5+

MySQL is no longer enabled by default, so the php_mysql.dll DLL must be enabled inside of php.ini. Also, php needs access to the MySQL client library. A file named libmysql.dll is included in the Windows php distribution and in order for php to talk to MySQL this file needs to be available to the Windows systems PATH. See the FAQ titled "How do I add my php directory to the PATH on Windows" for information on how to do this. Although copying libmysql.dll to the Windows system directory also works (because the system directory is by default in the systems PATH), it's not recommended.

As with enabling any php extension (such as php_mysql.dll), the php directive extension_dir should be set to the directory where the php extensions are located. See also the Manual Windows Installation Instructions. An example extension_dir value for php 5 is c:\php\ext
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 03:07