Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Notice: Object to string conversion
 
 автор: Diablo_   (09.12.2006 в 04:44)   письмо автору
 
 

при попытке сделать селект из бд, выдаёт вот такое сообщение:

Notice: Object to string conversion in w:\home\news\www\modules\news\script.php on line 9
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Object' at line 1

Вот код:

$id=intval(@$_REQUEST['delete']);
require_once($_SERVER['DOCUMENT_ROOT']."/class/sql.class.php");
$my = new class_sql;
$my->sql_connect();

$my->sql_query="select * from 'news' where 'id'='$id' ";
$result = mysql_query($my);    
  if(!$result) exit(mysql_error());
$my->sql_execute();

if (@mysql_num_rows($my->sql_res)!=0){
    while ($news_array = mysql_fetch_array($my->sql_res))
    {
unlink ($_SERVER['DOCUMENT_ROOT']."/news/image/".$news_array['url_img']);
$my->sql_query="Delete from news where id='$id'";
$my->sql_execute();
}
}

в принципе, всё работает, он удаляет запись из базы, но почему предупреждение????

   
 
 автор: Trianon   (09.12.2006 в 10:36)   письмо автору
 
   для: Diablo_   (09.12.2006 в 04:44)
 

$result = mysql_query($my); приводит к тому, что объект $my перобразуется в строку "Object", и фактически Вы пытаететь выполнить mysql_query("Object"); что ни к чему хорошему привести не может. Что при этом может работать, остается загадкой.
Я понятия не имею, как именно в используемом Вами классе следует исполнять SQL-запросы. Но если Вы хотите пользоваться процедурной версией - нужно писать прямо:
$result = mysql_query($my->sql_query);
Правда, зачем тогда вообще класс?

   
 
 автор: Diablo_   (09.12.2006 в 11:59)   письмо автору
 
   для: Trianon   (09.12.2006 в 10:36)
 

Срри, это:

$result = mysql_query($my);     
  if(!$result) exit(mysql_error()); 

я просто забыл убрать из кода! оно туда было вставлено для промерки!

   
 
 автор: Trianon   (09.12.2006 в 12:37)   письмо автору
 
   для: Diablo_   (09.12.2006 в 11:59)
 

и как, по Вашему, нужно искать эту line 9?

   
 
 автор: Diablo_   (09.12.2006 в 12:55)   письмо автору
 
   для: Trianon   (09.12.2006 в 12:37)
 

вот она

$my->sql_query="select * from 'news' where 'id'='$id' "; 

вот именно тут даёт предупреждения!
конечно, я могу поставить @ и заглушить предупреждение, но хочется понять что именно не так!

   
 
 автор: Trianon   (09.12.2006 в 13:21)   письмо автору
 
   для: Diablo_   (09.12.2006 в 12:55)
 

сомневаюсь.

   
 
 автор: Diablo_   (09.12.2006 в 13:27)   письмо автору
 
   для: Trianon   (09.12.2006 в 13:21)
 

а я утвеождаю!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования