Не проходит mysql_connect - ошибку не выдает

Devillio

Новичок
Не проходит mysql_connect - ошибку не выдает

Позвольте начинающему задать вопрос?

PHP:
$conn=mysql_connect("127.0.0.1", "root", "111")
if ($conn)
{
...
} else; print "не удалось";
все время выдает не удалось.
host, user, pass - верные, с другими выдает ошибку подключения.

в чем может быть проблема?

спасибо
 

Romantik

TeaM PHPClub
Devillio
Если уж и учишь синтаксис PHP, то и соблюдай его
PHP:
if ($conn) 
{ 
... 
} else
{
 print "не удалось";
}
А также используй [m]mysql_error[/m] [m]die[/m]
 

Devillio

Новичок
а, это опять вы :). сразу вас опознал, сразу... доброе утро.

подскажите, что означает:
"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 '' at line 12"

что за line 12 имеется ввиду?

P.S. делайте скидку на незнание - не ругайте сразу. Читайте Кастанеду: незнание - далеко не порок, порок - нежелание учится.
 

Romantik

TeaM PHPClub
Devillio
так никто не ругает тебя =)
Учишься? учись.
Проблемы? поможем =)
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 '' at line 12"
напиши сюда свой код с запросом...
 

Devillio

Новичок
вот реально спасибо :)

PHP:
        if (isset($_POST["begin"]))
        {
//             $conn=mysql_connect(DB_HOST, DB_USER, DB_PASS);
             $conn=mysql_connect("127.0.0.1", "root", "111");
             if ($conn)
             {
//              $conn=mysql_select_db(DB_NAME);
              $conn=mysql_select_db("rccs_db");
              if ($conn)
              {
              mysql_query("create table ".POQ_TABLE."
                         (poqID INT PRIMARY KEY AUTO_INCREMENT,
                          level TINYINT,
                          parent_id INT,
                          type TINYINT,
                          text1 varchar(200),
                          text2 text,
                          text3 text,
                          checked TINYINT,
                          author INT,
                          date1 DATETIME,
                          date2 DATETIME");
              } else; $errstr="ошибка DB_NAME";
            } else; $errstr= mysql_error();
         }
<html>
<head>
<link rel=STYLESHEET href="main.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>ГУ РЦЦС Волгоградской обасти</title></head>
<body bgcolor = #F1F1FF style="padding:10">
<center>
<?php
if (isset($_POST["begin"]))
{
print "<p>DB_HOST: ".DB_HOST."</p>";
print "<p>DB_USER: ".DB_USER."</p>";
print "<p>DB_PASS: ".DB_PASS."</p>";
print "<p>DB_NAME: ".DB_NAME."</p>";
if (isset($errstr)) print "<font color=red>$errstr</font>";
}
?>
<form method="POST" name="BEGIN" action="admin-int.php">
<p class=text10><b>Первоначальное заполнение базы</b><br></p>
<input type="hidden" name="begin" value="1">
<input type="submit" value="Произвести заполнение">
</form>
</center>
</body>
</html>

имя файла - admin-int.php
 

MuXa247

Новичок
Закрывающей скобки нет в SQL запросе.
[sql]create table tablename (fieldslist)
[/sql]
 

Romantik

TeaM PHPClub
mysql_query(...) or die(mysql_error()) используй
а так же для удобства поиска ошибок и анализа делай
$sql="твой запрос";
потом echo $sql; и анализируй
 

Devillio

Новичок
учту. благодарю. :)

-~{}~ 09.09.05 10:47:

я программирую на Delphi, мозг зочет работать последовательно, и вот все таки чтобы уж разобраться до конца, подскажите, почему в моем коде сначала прошло выполнение внутреннего условия, а ошибка выдалась по внешнему?
ну то есть как я вижу ситуацию:
if (усл1)
{
if (усл2)
{
} else; выполнять при невыполнении усл2
} else; выполнять при невыполнении усл1

у меня то срабатывала вторая else, хотя невыполнение как бы внутри второго условия. почему?
 

MuXa247

Новичок
Делфя тебя и сгубила! ;)
сразу после else ставишь ;
т.е. у тебя ничего в нем не выполняется.

PHP:
} else; $errstr="ошибка DB_NAME"; 
} else; $errstr= mysql_error();
Здесь у тебя сначала выполняется $errstr="ошибка DB_NAME";
потом переписывается: $errstr= mysql_error();
 

Devillio

Новичок
фигасе я ламер...
offtop: /*делфя вряд ли виновна - там после else нельзя юзать ";" - это я где то у кого то узрел и решил, что такой синтаксис */.
флуду - конец.

-~{}~ 09.09.05 12:53:

не, не конец.

началось вообще неясное:
после попытки mysql_query mysql_error() содержит следующее:
"Can't create table '.\rccs_db\rccs_poq.frm' (errno: 121)"

пытался найти ответ на форуме, не нашел :(
 
Сверху