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

Форум MySQL

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

 

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

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

тема: Помощь в выполнении запроса к таблицам?
 
 автор: xpom   (10.09.2006 в 20:37)   письмо автору
 
 

Помогите пожалуйста найти ошибку, почему-то не получается выполнить запрос к таблицам MySQL?
Вот по этому коду:

<?php 
  $res 
mysql_query("SELECT * FROM Punkt",$db); 
  if(!
$res) exit("Ошибка в синтаксисе запроса"); 
  if(
mysql_num_rows($res)) 
  { 
     echo 
"<select type=text name='d'> "
     while(
$punkt mysql_fetch_array($res)) 
     { 
        if(
$_GET['d'] == $punkt[id]) $selected "selected"
        else 
$selected ""
        echo 
"<option  value=$punkt[id] $selected>$punkt[name]</option>"
     } 
     echo 
"</select> "
  } 
?> 

Таблицу создавал и заполнял вот по этому коду:

  CREATE TABLE Punkt (
      PID         INTEGER NOT NULL AUTO_INCREMENT,
      PunktName        VARCHAR(30),
      Primary Key (PID)


  INSERT INTO Punkt (PunktName) VALUES
       ('Раздел1'),
       ('Раздел2')

Пишет - Ошибка в синтаксисе запроса, ну как и в коде написано.

   
 
 автор: Storm9   (10.09.2006 в 20:57)   письмо автору
 
   для: xpom   (10.09.2006 в 20:37)
 

А попробуй прописать еще внизу
<?php
echo mysql_error();
?>
и посмотри что выдаст MySQL.
А так, проверь что у тебя в переменной $db

   
 
 автор: xpom   (11.09.2006 в 22:44)   письмо автору
 
   для: Storm9   (10.09.2006 в 20:57)
 

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

   
 
 автор: cheops   (12.09.2006 в 00:44)   письмо автору
 
   для: xpom   (11.09.2006 в 22:44)
 

Если таблица создана и выполняется оператор CREATE TABLE с именем таблицы, то возвращается ошибка. Второй раз СУБД MySQL создавать таблицу не будет. Избежать возврата ошибки может помочь ключевое слово IF NOT EXISTS, добавление которой позволяет не создавать оператору CREATE TABLE таблицу, если она уже существует.
 CREATE TABLE IF NOT EXISTS Punkt ( 
      PID         INTEGER NOT NULL AUTO_INCREMENT, 
      PunktName        VARCHAR(30),

   
 
 автор: xpom   (12.09.2006 в 22:41)   письмо автору
 
   для: cheops   (12.09.2006 в 00:44)
 

Нет вы немного не правилно поняли, таблица у меня создалась вроде удачно, не получается получить данные из этой таблицы с помощью php кода, вот этого:

<?php  
  $db 
mysql_connect($dbhost$dbuser$dbpass);
  
mysql_selectdb($dbname$db);

$res mysql_query("SELECT * FROM Punkt",$db);  
  if(!
$res) exit("Ошибка в синтаксисе запроса");  
  if(
mysql_num_rows($res))  
  {  
     echo 
"<select type=text name='d'> ";  
     while(
$punkt mysql_fetch_array($res))  
     {  
        if(
$_GET['d'] == $punkt[id]) $selected "selected";  
        else 
$selected "";  
        echo 
"<option  value=$punkt[id] $selected>$punkt[name]</option>";  
     }  
     echo 
"</select> ";  
  }  
?>  


Выводит очень большое сообщение ошибки:
PHP Notice: Undefined index: d in C:\Apache2.2\htdocs\cat\index.php on line 69 PHP Notice: Use of undefined constant id - assumed 'id' in C:\Apache2.2\htdocs\cat\index.php on line 69 PHP Notice: Undefined index: id in C:\Apache2.2\htdocs\cat\index.php on line 69 PHP Notice: Undefined index: id in C:\Apache2.2\htdocs\cat\index.php on line 71 PHP Notice: Undefined index: name in C:\Apache2.2\htdocs\cat\index.php on line 71 PHP Notice: Undefined index: d in C:\Apache2.2\htdocs\cat\index.php on line 69 PHP Notice: Use of undefined constant id - assumed 'id' in C:\Apache2.2\htdocs\cat\index.php on line 69 PHP Notice: Undefined index: id in C:\Apache2.2\htdocs\cat\index.php on line 69 PHP Notice: Undefined index: id in C:\Apache2.2\htdocs\cat\index.php on line 71 PHP Notice: Undefined index: name in C:\Apache2.2\htdocs\cat\index.php on line 71 PHP Notice: Undefined index: d in C:\Apache2.2\htdocs\cat\index.php on line 79 PHP Notice: Undefined index: d in C:\Apache2.2\htdocs\cat\index.php on line 82 PHP Notice: Undefined index: d in C:\Apache2.2\htdocs\cat\index.php on line 83 PHP Notice: Undefined index: d in C:\Apache2.2\htdocs\cat\index.php on line 84 PHP Notice: Undefined index: d in C:\Apache2.2\htdocs\cat\index.php on line 86 PHP Notice: Undefined offset: 12 in C:\Apache2.2\htdocs\cat\index.php on line 102 PHP Notice: Undefined offset: 23 in C:\Apache2.2\htdocs\cat\index.php on line 105 PHP Notice: Undefined offset: 13 in C:\Apache2.2\htdocs\cat\index.php on line 113 PHP Notice: Undefined offset: 24 in C:\Apache2.2\htdocs\cat\index.php on line 116 PHP Notice: Undefined offset: 14 in C:\Apache2.2\htdocs\cat\index.php on line 124 PHP Notice: Undefined offset: 25 in C:\Apache2.2\htdocs\cat\index.php on line 127 PHP Notice: Undefined offset: 15 in C:\Apache2.2\htdocs\cat\index.php on line 135 PHP Notice: Undefined offset: 26 in C:\Apache2.2\htdocs\cat\index.php on line 138 PHP Notice: Undefined offset: 5 in C:\Apache2.2\htdocs\cat\index.php on line 143 PHP Notice: Undefined offset: 16 in C:\Apache2.2\htdocs\cat\index.php on line 146 PHP Notice: Undefined offset: 27 in C:\Apache2.2\htdocs\cat\index.php on line 149 PHP Notice: Undefined offset: 6 in C:\Apache2.2\htdocs\cat\index.php on line 154 PHP Notice: Undefined offset: 17 in C:\Apache2.2\htdocs\cat\index.php on line 157 PHP Notice: Undefined offset: 28 in C:\Apache2.2\htdocs\cat\index.php on line 160 PHP Notice: Undefined offset: 7 in C:\Apache2.2\htdocs\cat\index.php on line 165 PHP Notice: Undefined offset: 18 in C:\Apache2.2\htdocs\cat\index.php on line 168 PHP Notice: Undefined offset: 29 in C:\Apache2.2\htdocs\cat\index.php on line 171 PHP Notice: Undefined offset: 8 in C:\Apache2.2\htdocs\cat\index.php on line 176 PHP Notice: Undefined offset: 19 in C:\Apache2.2\htdocs\cat\index.php on line 179 PHP Notice: Undefined offset: 30 in C:\Apache2.2\htdocs\cat\index.php on line 182 PHP Notice: Undefined offset: 9 in C:\Apache2.2\htdocs\cat\index.php on line 187 PHP Notice: Undefined offset: 20 in C:\Apache2.2\htdocs\cat\index.php on line 190 PHP Notice: Undefined offset: 31 in C:\Apache2.2\htdocs\cat\index.php on line 193 PHP Notice: Undefined offset: 10 in C:\Apache2.2\htdocs\cat\index.php on line 198 PHP Notice: Undefined offset: 21 in C:\Apache2.2\htdocs\cat\index.php on line 201 PHP Notice: Undefined offset: 32 in C:\Apache2.2\htdocs\cat\index.php on line 204 PHP Notice: Undefined offset: 11 in C:\Apache2.2\htdocs\cat\index.php on line 209

Вот эта строка кода имеет номер 69, там помоему в ошибки с нее начинается, это наверное в ней что-то не правильно?

 if($_GET['d'] == $can[id]) $selected = "selected"; 

   
 
 автор: ec_stasis   (10.09.2006 в 21:37)   письмо автору
 
   для: xpom   (10.09.2006 в 20:37)
 

А ты уверен, что таблица создалась? т.к. приведенный неверен.

   
 
 автор: xpom   (11.09.2006 в 22:46)   письмо автору
 
   для: ec_stasis   (10.09.2006 в 21:37)
 

А что здесь не верное?

   
 
 автор: Hatred   (10.09.2006 в 22:30)   письмо автору
 
   для: xpom   (10.09.2006 в 20:37)
 

Значения 'Раздел1' и 'Раздел2' не являются типом integer, а char или, лучше, varchar.

   
 
 автор: xpom   (11.09.2006 в 22:45)   письмо автору
 
   для: Hatred   (10.09.2006 в 22:30)
 

Не я их создавал без 1 и 2 просто буквы?

   
Rambler's Top100
вверх

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