Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Den_is
Зарегистрирован: 04.04.2005 Сообщения: 2
|
Добавлено: Пн Апр 04 2005 14:27 Заголовок сообщения: Не работает запрос в базу mysql |
|
|
Вообщем есть у меня такая трабла… Поставил себе APACH все сконфигурировано правильно… написал на PHP класс для соеденения с базой и для запросов
Для наглядности вот он:
< ?
require("/home/ivt13/req/vars.class");
class class_mysql extends class_vars
{
// Класс для открытия соединения с базой, наследует класс class_vars
var $sql_login="";
var $sql_passwd="";
var $sql_database="ivt13";
var $sql_host="127.0.0.1"; // localhost
var $conn_id;
var $sql_query;
var $sql_err;
var $sql_res;
function sql_connect()
{
$this->conn_id=mysql_connect($this->sql_host,$this->sql_login,$this->sql_passwd);
mysql_select_db($this->sql_database);
}
function sql_execute()
{
$this->sql_res=mysql_query($this->sql_query,$this->conn_id);
$this->sql_err=mysql_error();
}
function sql_close()
{
mysql_close($this->conn_id);
}
}
?>
также написал класс для внесения данных в базу
< ?
require("/home/ivt13/req/out.class");
class class_in extends class_out
{
var $in_cat_name;
// функция добавления рубрики в базу
function in_cat_add()
{
// проверка данных на корректность
$err=$this->in_cat_add_check();
if($err) return($err);
// Формируем запрос в БД
$this->sql_query="insert into tbl_cats(c_name) values('".$this->in_cat_name."')";
$this->sql_execute();
if($this->sql_err) return(11);
echo $this->sql_err;
return(0);
}
в файле add.php переменной $in_cat_name присваивается какое то значение и вызывается какое то значение, но ничего в базу не добавляется, наверняка, что то делаю неправильно… а да… кстати выдается вот такая ошибка
Warning: mysql_query(): 7 is not a valid MySQL-Link resource in z:\home\ivt13\req\mysql.class on line 28
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in z:\home\ivt13\req\out.class on line 18
Когда делаю вывод данных из базы то все работает нормально, а вот ввод нихера не работает… |
|
Вернуться к началу |
|
|
Antimof
Зарегистрирован: 04.08.2004 Сообщения: 41 Откуда: Тольятти
|
Добавлено: Вт Апр 05 2005 09:02 Заголовок сообщения: |
|
|
Ты определил метод коннекта.
Код: | function sql_connect(){
$this->conn_id=mysql_connect($this->sql_host,$this->sql_login,$this->sql_passwd);
mysql_select_db($this->sql_database);
} |
и нигде его не использовал.
Ресурса на соединение с БД нет, вся остальная работа не происходит.
И лучше повесь коннект на конструктор класса, по крайней мере не будешь забывать открывать его. |
|
Вернуться к началу |
|
|
Den_is
Зарегистрирован: 04.04.2005 Сообщения: 2
|
Добавлено: Вт Апр 05 2005 12:18 Заголовок сообщения: mysql |
|
|
я привел здесь только сами классы... а коннект я использую в add.php
<?
require("/home/ivt13/req/in.class");
$my=new class_in;
$my->sql_connect();
?>
<?
$my->in_cat_name=$cat_name; // cat_name отправляеться из формы
$my->in_cat_add(); вот эта ф-я не работает
$my->out_cat_list(); эта функция вывода работает прекрасно
?>
<?
$my->sql_close();
include($my->PATH_INC."/cat_list.inc");
?> |
|
Вернуться к началу |
|
|
Antimof
Зарегистрирован: 04.08.2004 Сообщения: 41 Откуда: Тольятти
|
Добавлено: Ср Апр 06 2005 12:40 Заголовок сообщения: |
|
|
тогда проверь, все ли аргументы правильные
ты мог или коннект потерять или запрос неправильный.
Код: | function sql_execute()
{
$this->sql_res=mysql_query($this->sql_query,$this->conn_id);
$this->sql_err=mysql_error();
}
|
|
|
Вернуться к началу |
|
|
|