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

Форум MySQL

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

 

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

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

тема: как встраивать SQL-запрос в PHP
 
 автор: gelya   (15.05.2006 в 21:38)   письмо автору
 
 

изучаю PHP5 по Вашей книге. В разделе "Сеансовые функции. Работа с cookies"
при создании приложения для хранения информации о пользователе непонятно, как выполнить
SQL-запрос, создающий базу данных auth. Т.е. как встраивать SQL-запрос в код PHP?Спасибо

   
 
 автор: Евгений Петров   (15.05.2006 в 22:32)   письмо автору
 
   для: gelya   (15.05.2006 в 21:38)
 

<?
  
// для начала надо подключиться к серверу mysql (или какому нибудь другому серверу)
  
mysql_connect("localhost","root","");
  
// затем выбрать ту базу данных с которой будеи работать
  
mysql_select_db("test");

  
// а дальше при помощи функции mysql_query выполняем наш запрос
  
mysql_query("CREATE TABLE test_tbl('id' INT)");
  
// этим запросом мы создали в базе данных test таблицу test_tbl, удалить её можно другим запросом
  
mysql_query("DROP TABLE test_tbl");
?>

   
 
 автор: gelya   (17.05.2006 в 01:41)   письмо автору
 
   для: Евгений Петров   (15.05.2006 в 22:32)
 

Сомневаюсь в првильности работы MySQL в связке с PHP, т.к код

<?
  
// для начала надо подключиться к серверу mysql (или какому нибудь другому серверу)
  
$dbcnx = @mysql_connect("localhost","root","");
  
// затем выбрать ту базу данных с которой будеи работать
  
if (!$dbcnx
  { 
    echo (
"не доступно");
    exit();
   }
    else {echo    (
"порядок");           }
    
$prov=@mysql_select_db("test");
  if (!
$prov)
  {
  echo (
"база не доступна");
  }
  else {echo    (
"порядок с базой<br>");           }
  
  

  
// а дальше при помощи функции mysql_query выполняем наш запрос
  
$table mysql_query("CREATE TABLE test_tbl(name var char(10 not null),
                                               pass varchar(30) not null,
                                               primary key (name))"
);
  if (!
$table)
  {
  echo (
"не создана");
  }
  else
  {echo (
"создана <br>");}
?>

выполняется:

порядокпорядок с базой
не создана

Почему может не создаваться таблица?
И еще вопрос: должен ли MySQL находиться среди СЛУЖБ (Панель упр-ния - Администрирование - Службы )?

   
 
 автор: safe_mod   (17.05.2006 в 09:00)   письмо автору
 
   для: gelya   (17.05.2006 в 01:41)
 


<? 
$connect 
mysql_connect('localhost',root','') // конект к базе
 or 
die("Невозможно подключиться к базе данных " . mysql_error());
mysql_select_db('
test' , $connect) //Выбираем базу
or die("Не выбрана база" . mysql_error());
 // а дальше при помощи функции mysql_query выполняем наш запрос 
  $table = mysql_query("
          CREATE TABLE test_test (
          test_id int(11) unsigned NOT NULL default '
0',
          PRIMARY KEY  (test_id)
          )
          TYPE=MyISAM;"); 
  if (!$table) 
  { 
  echo ("не создана"); 
  } 
  else 
  {echo ("создана <br>");} 
 ?>

Может так???

   
 
 автор: cheops   (17.05.2006 в 12:13)   письмо автору
 
   для: gelya   (17.05.2006 в 01:41)
 

Исправьте блок
<?php
  
if (!$table
  { 
  echo (
"не создана"); 
  } 
  else 
  {echo (
"создана <br>");}
?>

на
<?php
  
if (!$table
  { 
  echo (
"не создана ".mysql_error()); 
  } 
  else 
  {echo (
"создана <br>");}
?>

Что теперь пишет?
> должен ли MySQL находиться среди СЛУЖБ (Панель упр-ния - Администрирование - Службы )?
Да должен - именно там можно корректно останавливать и перезапускать сервер MySQL под Windows на тот случай, если вы например захотите перенести базы данных с одного диска на другой.

   
 
 автор: gelya   (18.05.2006 в 23:24)   письмо автору
 
   для: cheops   (17.05.2006 в 12:13)
 

Переустановила все на denver. Но ничем не лучше.

<?
  
// для начала надо подключиться к серверу mysql (или какому нибудь другому серверу)
  
$dbcnx = @mysql_connect("localhost","root","");
  
// затем выбрать ту базу данных с которой будеи работать
  
if (!$dbcnx
  { 
    echo (
"не доступно");
    exit();
   }
    else 
  {
     echo    (
"порядок");           
  }
  
$prov=@mysql_select_db("forum");
  if (!
$prov)
  {
  echo (
"база не доступна"mysql_error());
  echo (
"<br>");
  }
  else 
  {
  echo    (
"порядок с базой<br>");          
   } 
  
// а дальше при помощи функции mysql_query выполняем наш запрос
  
$table mysql_query("CREATE TABLE test_tbl('id' INT)");
  if (!
$table)
  {
  
$mist= @mysql_error();
  echo (
"не создана".$mist);
  }
  else
  {
  echo (
"создана <br>");
  }
  
// этим запросом мы создали в базе данных test таблицу test_tbl, удалить её можно другим запросом
  //mysql_query("DROP TABLE test_tbl");
?>

на это выдается

порядокпорядок с базой
не создана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 ''id' INT)' at line 1

Что это за ошибка? С чем проблема?

   
 
 автор: cheops   (18.05.2006 в 23:28)   письмо автору
 
   для: gelya   (18.05.2006 в 23:24)
 

Вместо строки
<?php
 $table 
mysql_query("CREATE TABLE test_tbl('id' INT)");
?>

следует использовать
<?php
 $table 
mysql_query("CREATE TABLE test_tbl(id INT)");
?>

   
Rambler's Top100
вверх

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