Връзка с oracle ?

Teodotko

Registered
Ако имам следната форма :

Код:
<form method="POST" action="new.php">

Item name:<br />
<input type="text" name="username"><br />
CHARTER NAME:<br />
<input type="text" name="password"><br />
SLOTS:<br />
<input type="text" name="paypal"><br /><br />
<input type="submit" name="submit" value="Send me items in 24 hours !">
</form>

</font></p>

Как да я свържа с Oracle че да изпълни заявката и да запише текста от полетата ? :oops:
 
Това ти е new.php

PHP:
if ($_POST) {
	$conn = oci_connect('username', 'password', 'host/database_name');
	if (!$conn) {
	    $e = oci_error();
	    die($e['message']);
	}
	

	$username = $_POST['username'];
	$pass = $_POST['password'];
	$paypal = $_POST['paypal'];	
	$stid = oci_parse($conn, "INSERT INTO tablica (username,password,paypal) VALUES ('$username','$pass','$paypal')");
	oci_execute($stid);
}

Малко странно ти се казват input-ите, като гледам пояснителния текст. Трябва да си сложиш данните за връзка - потребител, парола,хост и база данни в съответните места на oci_connect().
 
Значи правя add.html и new.php

Код:
<?php 
if ($_POST) {
        $conn = oci_connect('username', 'password', 'host/database_name');
        if (!$conn) {
            $e = oci_error();
            die($e['message']);
        }
        

        $username = $_POST['username'];
        $pass = $_POST['password'];
        $paypal = $_POST['paypal'];     
        $stid = oci_parse($conn, "INSERT INTO tablica (username,password,paypal) VALUES ('$username','$pass','$paypal')");
        oci_execute($stid);
}
?>

Ако искам още полета ?

$novopoe = $_post['pole']; и след това добавям към VALUES също ?
 
Това е база данни на Mmorpg игра и целта е с този файл да мога да правя итеми ... Самите итеми представляват запис :)
 
Да, но освен във values добавяш и името на полето в скобите. Не съм запознат с тази игра.

Teodotko каза:
Значи правя add.html и new.php

Код:
<?php 
if ($_POST) {
        $conn = oci_connect('username', 'password', 'host/database_name');
        if (!$conn) {
            $e = oci_error();
            die($e['message']);
        }
        

        $username = $_POST['username'];
        $pass = $_POST['password'];
        $paypal = $_POST['paypal'];     
        $stid = oci_parse($conn, "INSERT INTO tablica (username,password,paypal) VALUES ('$username','$pass','$paypal')");
        oci_execute($stid);
}
?>

Ако искам още полета ?

$novopoe = $_post['pole']; и след това добавям към VALUES също ?
 
Със apache нa компютъра съм . От php.ini в windows папката съм активирал май някой неща ... Какво друго трябва ? Ако има някакво значение това ми е config файла който също прави връзка с oracle :

Код:
<?php

$db_username = "asd";
$db_password = "password";
$db = "oci:dbname=asd";


$websitetitle = "Archlord-Online Registeration";

$conn = new PDO($db,$db_username,$db_password);
	 
$characters = array(
"A","B","C","D","E","F","G","H","J","K","L","M",
"N","P","Q","R","S","T","U","V","W","X","Y","Z",
"1","2","3","4","5","6","7","8","9");

$keys = array();


while(count($keys) < 7) {
    $x = mt_rand(0, count($characters)-1);
    if(!in_array($x, $keys)) {
       $keys[] = $x;
    }
}

foreach($keys as $key){
   $random_chars .= $characters[$key];
}
$rmail = $random_chars."@yahoo.com";

?>
 
Активирах всичко в което присъства OCI във PHP.INI

И пак дава тази грешка ...

Fatal error: Call to undefined function oci_connect() in C:\AppServ\www\new.php on line 3
 
Нямам идея ! Нa windows никога не съм работил с PHP и Apache :)
Под линукс пишеш yum install php-oci8 или apt-get install php-oci8 и то тръгва.
 
:) Проблемът ти е че гърми функцията, която трябва да те върже с базата данни - не можеш без нея!
 
С отделни компоненти ли си? И сигурен ли си, че си премахнал коментара на правилните места в php.ini. Я покажи кои си 'откоментирал'.
 
Код:
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
extension=php_exif.dll
;extension=php_fdf.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_msql.dll
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_oci8.dll
;extension=php_openssl.dll
extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll

Config файла който ви показах не е ли на същия принцип ? Той как работи ?
 
Самото разширение на Oracale се нуждае от Instant Client, който виждам, че го нямаш.
Прочети това http://www.php.net/manual/bg/oci8.requirements.php

След това виж това и следвай какво трябва да се направи, за да го подкараш.
След всичко би трябвало да добавиш в ini файла на php това разширение.
 

Back
Горе