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

Форум MySQL

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

 

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

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

тема: Ошибка в определении функции с MySQL - запросом!
 
 автор: SilentChild   (25.03.2008 в 12:09)   письмо автору
 
 

<?php
/* Определение функции для отображения в браузере всех записей из указанной таблицы.
   В качестве атрибутов функция будет принимать имя таблицы и идентификатор соединения. */
    
function select_all($nametable)
{    
    
$echo mysql_query("SELECT * FROM " $nametable ""$link_id);
    echo 
"<table cellspacing=0 border=1>";
    while (
$result mysql_fetch_row($echo))
    {
      echo 
"<tr>";
      
$i 0;
      while (
count($result)->= $i)
      {
        echo 
"<td>" $result[$i] . "</td>";
        
$i++;
      }      
      echo 
"</tr>";      
    }
    echo 
"</table>";
}
?>


Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/httpd/www/experement/select_all().inc on line 7

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/httpd/www/experement/select_all().inc on line 9

в чем дело?

   
 
 автор: olejek   (25.03.2008 в 12:58)   письмо автору
 
   для: SilentChild   (25.03.2008 в 12:09)
 

>В качестве атрибутов функция будет принимать имя таблицы и идентификатор соединения.

function select_all($nametable) - а где идентификатор соединения?

   
 
 автор: SilentChild   (25.03.2008 в 13:37)   письмо автору
 
   для: olejek   (25.03.2008 в 12:58)
 

А если его не назначать, а сразу указать, как я сделал - $link_id, разве не должно работать?

   
 
 автор: Atheist   (25.03.2008 в 13:41)   письмо автору
 
   для: SilentChild   (25.03.2008 в 13:37)
 

Включи оторажение Notice еще.

Переменная $link_id не является глобальной, поэтому она "не видна" из функции.

   
 
 автор: SilentChild   (25.03.2008 в 16:05)   письмо автору
 
   для: Atheist   (25.03.2008 в 13:41)
 

<?php
/* Определение функции для удаления всех записей из указаной таблицы методом TRUNCATE
   c обнулением поля, определением которого является AUTO_INCREMENT. */  

function truncate($nametable$id_connect)
{
    
$delete mysql_query("TRUNCATE " $nametable ""$id_connect);
    if (
$delete)
    {
      echo 
"Все записи из таблицы \"" $nametable "\" успешно удалены!";
    }
    else
    {
      echo 
"Ошибка! Невозможно выполнить запрос!";
    }
  
}       
?>


Почему программа выдает второй результат, т.е. else{} ? Ввёл имя таблицы правильно, подключение работает и организовано до вызова и определения функции ! Дак в чем же дело?

   
 
 автор: KirillKiev   (25.03.2008 в 16:22)   письмо автору
 
   для: SilentChild   (25.03.2008 в 16:05)
 

напишите
echo "Ошибка! Невозможно выполнить запрос! Error:".mysql_error(); 

   
 
 автор: SilentChild   (25.03.2008 в 16:32)   письмо автору
 
   для: KirillKiev   (25.03.2008 в 16:22)
 

Блин, получилося, я забыл базу данных указать, которую использую! Вобще, как я мог забыть, совсем склероз =) спасибо огромное! А как работает Notice? В смысле как писать, структура, синтаксис типа, как?

   
Rambler's Top100
вверх

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