[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: WAMPSERVER i PEAR - problema
Slava-1977
Dobriy vecher

U menya takaya problema

Ustanovlen WAMPSERVER 2.2
PHP 5.4.3

Ya instaliroval PEAR w direktoriyu c:\wamp\bin\php\php5.4.3\pear
tam poyavilos mnogo failov i eshe odna directoriya pear gde naxodyatsa db.php, pear.php i tak dalee

V php.ini pri instalyacii dobavilas stroka - put k etoy direktorii

teper kogda ya zagrujayu rabochiy fail s wampservera - localhost

<?php

include('db_login.php');
require_once('c:/wamp/bin/php/php5.4.3/pear/pear/DB.php');

$connection = DB::connect("mysql://$db_username:$db_password@db_host/$db_database");

if (DB::isError($connection)) {
die("Oshibka podklyucheniya k baze dannix:<br/>".
DB::errorMessage($connection));
}

$query = "SELECT * from books natural join authors";
$result = $connection->query($query);

if (DB::isError($result)) {
die("Oshibka zaprosa:<br />".$query." ".DB::errorMessage($result));
}

echo('<table border="1">');
echo '<tr><th>Title</th><th>Author</th><th>Pages</th></tr >';

while ($result_row = $result->fetchRow()) {
echo "<tr><td>";
echo $result_row[1] . '</td><td>';
echo $result_row[4] . '</td><td>';
echo $result_row[2] . '</td><td>';
}

echo("</table>");
$connection->disconnect();

?>

To vidaet sleduyushee oshibki

Strict standards: Non-static method DB::connect() should not be called statically in C:\wamp\www\db_test_1.php on line 6

Strict standards: Non-static method DB::parseDSN() should not be called statically in C:\wamp\bin\php\php5.4.3\pear\pear\DB.php on line 520

Strict standards: Non-static method DB::errorMessage() should not be called statically, assuming $this from incompatible context in C:\wamp\bin\php\php5.4.3\pear\pear\DB.php on line 965

i tak dalee

Podskajite pojaluysta v chem problema?? Ogromnoe spasibo
Dezigo
Ошибки говорят сами за себя, так как у Вас php.5.4.3
То у вас оповещение об ошибки, что не надо вызывать как статик класс.
А делать так

$db = new DB(); 
$db->connect();
Gabriel
увеличитель вероятности ответа

_____________
one step, two steps HERE WE GO!!!
Slava-1977
Спасибо за ответ

Я попробовал

<?php

include('db_login.php');
require_once('c:/wamp/bin/php/php5.4.3/pear/pear/DB.php');

$db = new DB;

$connection = $DB->connect("mysql://$db_username:$db_password@db_host/$db_database");

if (DB::isError($connection)) {
die("Oshibka podklyucheniya k baze dannix:<br/>".
DB::errorMessage($connection));
}

и так далее

но теперь выводит следующее сообщение

Notice: Undefined variable: DB in C:\wamp\www\db_test_1.php on line 8
Fatal error: Call to a member function connect() on a non-object in C:\wamp\www\db_test_1.php on line 8
Игорь_Vasinsky
Цитата
Notice: Undefined variable: DB in C:\wamp\www\db_test_1.php on line 8

php регистр букв имени переменных чувствует на уровне копчика.

 $db = new DB;

$connection = $db->connect("mysql://$db_username:$db_password@db_host/$db_database");


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Slava-1977
спасибо за ответы исправил все как вы сказали но теперь выдает следующие ошибки

<?php

include('db_login.php');
require_once('c:/wamp/bin/php/php5.4.3/pear/pear/DB.php');

$db = new DB();

$connection = $db->connect("mysql://$db_username:$db_password@db_host/$db_database");

if ($db->isError($connection)) {
die("Oshibka podklyucheniya k baze dannix:<br/>".
$db->errorMessage($connection));
}

$query = "SELECT * from books natural join authors";
$result = $connection->query($query);

if ($db->isError($result)) {
die("Oshibka zaprosa:<br />".$query." ".$db->errorMessage($result));
}

echo('<table border="1">');
echo '<tr><th>Title</th><th>Author</th><th>Pages</th></tr >';

while ($result_row = $result->fetchRow()) {
echo "<tr><td>";
echo $result_row[1] . '</td><td>';
echo $result_row[4] . '</td><td>';
echo $result_row[2] . '</td><td>';
}

echo("</table>");
$connection->disconnect();

?>

Strict standards: Non-static method DB::errorMessage() should not be called statically, assuming $this from incompatible context in C:\wamp\bin\php\php5.4.3\pear\pear\DB.php on line 965

Strict standards: Non-static method DB::isError() should not be called statically, assuming $this from incompatible context in C:\wamp\bin\php\php5.4.3\pear\pear\DB.php on line 688

Я не понимаю надо исправлять что-то в DB.php? Но это же готоый файл

Помогите разобраться

Огромное спасибо
Толик
Такая же ошибка.

Strict standards: Non-static method DB::errorMessage() should not be called statically, assuming $this from incompatible context in C:\wamp\bin\php\php5.4.3\pear\pear\DB.php on line 965

Strict standards: Non-static method DB::isError() should not be called statically, assuming $this from incompatible context in C:\wamp\bin\php\php5.4.3\pear\pear\DB.php on line 688

Помогите разобраться!!!

Где-то прочитал что PEAR больше не поддерживается PHP. Если нет то что есть вместо него?
Игорь_Vasinsky
гугл транслейт тебе поможет.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.