SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.04.2008 20:24:38

timdenice
Участник
Зарегистрирован: 08.04.2008
Сообщений: 8

Помогите пожалуйста со связкой PHP и MYSQL

Проблема такая - подсоединение к серверу вроде происходит, да и выбор базы тоже, но такое чувство, что таблица не создается, потому что при вызове элемента из таблицы сервак ничего не выдает.
Скрипт состоит из трех страниц - первая - указание данных для входа в базу,
вторая - подключение к базе и создание таблицы, задание переменной, которую я потом вкладываю в поле NOM таблицы QUESTION и третье - задается переменные первого ряда таблицы, и также я записываю переменную NOM в соответствующую ячейку таблицы в первый ряд, пытаюсь ее вывести - ничего не выдает.
И еще проблемка - при выводе второй страницы выдает ошибку

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /usr/home/d944bfc/public_html/q1.php on line 18
что она значит я не понял но ошибку функция выдает на саму себя потому то она как раз и находится в линии 18



Ниже привожу код трех страниц. по порядку.
1.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Predifinition de l'enquete</title>
</head>

<body>
<form action="q1.php" method="POST">
1. Serveur de Base MySQL
<br>
<input type="text" name="SERVER" /><br />
2. Login d'acces pour la Base MySQL<br />
<input type="text" name="LOGIN" /><br />
3. Mot de passe pour la base MySQL<br />
<input type="password" name="PASSWORD" />
<br />
<input type="reset" value="reset" />
<a href="q1.php"><input type="submit" name="suivant" value="go">
</a></form>

</body>
</html>



2.
<? session_start();
$_SESSION['SERVER']=$SERVER;
$_SESSION['LOGIN']=$LOGIN;
$_SESSION['PASSWORD']=$PASSWORD;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>

<? $link=mysql_pconnect($SERVER,$LOGIN,$PASSWORD);
if (!$link) echo "Je peux pas me connecter a une base"; else echo "tout va bien";\\\ тут выдает tout va bien то есть по идее подключился, но загвоздка в том, то я пробовал ввести логин и пароль несуществующие и он все равно выдает типа все в порядке
echo mysql_error(mysql_errno());\\ вот тут выдает ошибку
mysql_select_db('d944bfc_Q');
echo mysql_error();
mysql_query('CREATE TABLE QUESTION (
ID INT PRIMARY KEY DEFAULT 1,
NOM CHAR(100),
CORPS CHAR(100) NOT NULL,
TYPE CHAR(64) NOT NULL,
VARR CHAR(100) NOT NULL
)');
?> <? $a=mysql_select_db('d944bfc_Q'); echo $a;  ?>
<form action="q2.php" method="GET"> <br>
Nom d'une enquete: <input type="text" name="nom"> <br />
<input type="submit" value="Ajouter une enquete">
</body>
</html>



3.

<? session_start();
$SERVER=$_SESSION['SERVER'];
$LOGIN=$_SESSION['LOGIN'];
$PASSWORD=$_SESSION['PASSWORD']; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
</head>

<body>
<? mysql_connect($SERVER, $LOGIN, $PASSWORD);
mysql_select_db('d944bfc_Q');
$a=mysql_query('SELECT NOM FROM QUESTION WHERE ID=1');
if ($a="1")
mysql_query('INSERT INTO QUESTION (NOM)
VALUES($nom)');
echo "<h1> L'enquete </h1>";

$result=mysql_list_tables('d944bfc_Q');
$i=0;
while($i<mysql_num_rows($result)) {
  $t_name[$i]=mysql_tablename($result, $i);
  echo $t_name[$i];
  $i++;\\\ вообще ничего не выдает
}; ?>
Ajouter une question <input type="text" name="question" />
<br />
Preciser le type de reponse
<input type="radio" name="type" value="texte" checked="checked"/>Texte
<input type="radio" name="type" value="radio" />Radio
<input type="radio" name="type" value="liste" />Liste
<input type="radio" name="type" value="multiliste" />Multiliste
<input type="radio" name="type" value="checkbox" />Checkbox
<br />
Si une reponse n'est pas de type texte, precisez des reponses possibles en les separant par le /
<input type="text" name="varr" />
<br />
<input type="reset" name="reset" value="Reset" />
<input type="submit" value="Ajouter" />
</body>

</html>

Неактивен

 

#2 08.04.2008 20:42:34

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите пожалуйста со связкой PHP и MYSQL

Насколько я понимаю, для работы этих сценариев нужно, чтобы были выполнены по крайней
мере два следующих требования:
  1. должны быть включены глобальные переменные
  2. должны быть включены постоянные соединения с MySQL

Смысл ошибки - "ресурс не является подключением mysql" - т.е. Вы не смогли установить соединение
командой mysql_pconnect.

Попробуйте заменить mysql_pconnect -> mysql_connect и вывести mysql_error() - хотя бы увидите, в
чем проблема.

P.S. Очень редко можно увидеть скрипты на французском. C'est magnifique smile

Неактивен

 

#3 08.04.2008 20:54:10

timdenice
Участник
Зарегистрирован: 08.04.2008
Сообщений: 8

Re: Помогите пожалуйста со связкой PHP и MYSQL

Спасибо за Ваше сообщение))
Только я не могу понять в чем смысл включения глобальных переменных, если я работаю через сессию ? (по моему это более безопасно, тем более при включении глобальных переменных к базе не смогут получить доступ два админа одновременно), попробую поставить просто коннект, вдруг поможет. Если не поможет, еще напишу)))

Неактивен

 

#4 08.04.2008 21:49:55

timdenice
Участник
Зарегистрирован: 08.04.2008
Сообщений: 8

Re: Помогите пожалуйста со связкой PHP и MYSQL

не помогает ((( ошибка остается, ( Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /usr/home/d944bfc/public_html/q1.php on line 18)   но.....удивительная штука!!!! у меня во второй странице создается таблица с именем question в третьей странице есть скрипт вывода имен всех таблиц из базы, так вот, он выводит имя!! ну вот как так ?

Неактивен

 

#5 08.04.2008 22:07:28

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите пожалуйста со связкой PHP и MYSQL

Замените все mysql_qeury("...") на
mysql_query("...") or die(mysql_error());

Тогда Вы увидите ошибку MySQL в тот момент, когда она возникла, а не тогда, когда уже используете несформированный результат.

Неактивен

 

#6 08.04.2008 22:50:34

timdenice
Участник
Зарегистрирован: 08.04.2008
Сообщений: 8

Re: Помогите пожалуйста со связкой PHP и MYSQL

я сам не понял что я сотворил но тот mysql_error убрал а вместо него поставил везде как Вы сказали, и на второй странице он перестал выдавать ошибку, на третьей выдает и у меня с этим вопрос  mysql_query('INSERT INTO question (NOM)
VALUES($nom)') or die(mysql_error()); такой запрос возможен при том, что $nom это переменная переданная с прошлой страницы, или нужно fetch использовать ?

Неактивен

 

#7 08.04.2008 23:09:00

timdenice
Участник
Зарегистрирован: 08.04.2008
Сообщений: 8

Re: Помогите пожалуйста со связкой PHP и MYSQL

что то я не могу найти как из php внести данные переменной в таблицу???? Подскажите пожалуйста ))

Неактивен

 

#8 08.04.2008 23:35:37

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите пожалуйста со связкой PHP и MYSQL

Таким запросом, как у Вас, но предполагается, что включена опция register-globals, о которой уже сказал paulus. Если эта опция отключена, то необходимо напрямую обращаться к переданным данным формы: $_GET['nom'] или $_POST['nom']
Например $nom = $_GET['nom'];
затем Ваш запрос

Неактивен

 

#9 08.04.2008 23:48:45

timdenice
Участник
Зарегистрирован: 08.04.2008
Сообщений: 8

Re: Помогите пожалуйста со связкой PHP и MYSQL

Не помогает ((( вставил данну строку в начале скрипта , при выполнении выдает ошибку Parse error: syntax error, unexpected T_VARIABLE in /usr/home/d944bfc/public_html/q2.php on line 20 на строку  mysql_query('INSERT INTO question (NOM)
VALUES('$nom')') or die(mysql_error()); не могу понять в чем дело, (( понимаю, что он гвоорит типа такой переменной не существует, но как она может не существовать если она передана сценарию с прошлой страницы, с формы ???

Неактивен

 

#10 09.04.2008 01:07:57

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите пожалуйста со связкой PHP и MYSQL

синтаксическая ошибка, кавычка одинарная неправильно используется. В оригинале были двойные, внутри них одинарные. У Вас все одинарные.

Неактивен

 

#11 09.04.2008 01:39:08

timdenice
Участник
Зарегистрирован: 08.04.2008
Сообщений: 8

Re: Помогите пожалуйста со связкой PHP и MYSQL

Огромное спасибо))) Ошибок больше не выдает, сейчас пытаюсь понять почему он исполняет php скрипт а код html который дальше идет не выполняет )))

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson