Помогите разобраться с Mysql

Discussion in 'PHP' started by cheka99, 25 May 2006.

  1. cheka99

    cheka99 New Member

    Joined:
    2 Mar 2006
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Eсть скрипт он вносит информацию в базу данных.Пишет что все ок.Инфа в базе.
    Хочу вывести инфу из базы и оказывается что ее там нет.Когда в ручную всю инфу в базу заношу,то скрипт выводит то что мне надо.Почему так получается?(все делал на localhost'е)
     
  2. EST a1ien

    EST a1ien Elder - Старейшина

    Joined:
    2 Apr 2006
    Messages:
    249
    Likes Received:
    48
    Reputations:
    16
    А исходник скрипта можно или мы должны угадать что утебя написано и что нетак?
     
  3. cheka99

    cheka99 New Member

    Joined:
    2 Mar 2006
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    вот 1 скрипт который добавляет инфу
    <?
    $host = "localhost";
    $user = "root";
    $pass = "";
    $db = "products";
    $table = "clients";
    mysql_connect($host,$user,$pass) OR DIE("no connect ");
    mysql_select_db($db) or die(mysql_error());
    $query = "INSERT INTO $table VALUES('$name','$email', '$preference')";
    mysql_query($query) or die(mysql_error());
    echo "infa v baze.";
    mysql_close();
    ?>

    вот 2 скрипт который выводит
    <?
    $host = "localhost";
    $user = "root";
    $pass = "";
    $db = "products";
    $table = "clients";
    mysql_connect($host,$user,$pass) OR DIE("no connect");
    mysql_select_db($db) or die(mysql_error());
    $querty = "SELECT * FROM $table WHERE choise = 'iabloki'";
    $res = mysql_query($querty) or die(mysql_error());
    $number = mysql_num_rows($res);
    if ($number == 0) {
    echo "<CENTER><P>iablok net</CENTER>";
    } else {
    echo "<CENTER><P>colichectvo iablok $number<BR><BR>";
    while ($row=mysql_fetch_array($res)) {
    echo $row['name']."<BR>".$row['email']."<BR>";
    echo "<BR><BR>";
    }
    }
    ?>
    данные передаются 1 скрипту из формы.
     
  4. LoFFi

    LoFFi Elder - Старейшина

    Joined:
    21 Feb 2006
    Messages:
    194
    Likes Received:
    90
    Reputations:
    85
    Синтаксис:
    Insert Into имя таблицы (имя поля1, имя поля2, ...) Values ('значение1','значение2',...)
     
  5. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    612
    Не обязательно... Если вводимое кол-во параметров равно кол-ву столбцов
    Нужно, например, если ввести значение только в один столбец в таблице, где их больше 1.
    А в обычных случаях работает нормально и без table(name, name2)
     
    #5 GreenBear, 25 May 2006
    Last edited: 25 May 2006
  6. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    Не учи детей плохому. Новичкам нельзя так вставлять данные в БД, только по схеме (name1, name2) VALUES ('1', '2') и никак иначе. Да и вообще схема, которую ты защищаешь имеет очень много багов на уровне логики.
    Да и потом, mysql советую юзать схему (name1, name2) VALUES ('1', '2'), так как неуказанные поля заполняются дефолтовыми значениями на ходу, что уменьшает время на выполнение запроса.
     
    _________________________
  7. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    612
    Я и не говорю, что так правильно. Просто сказал, что не обязательно в этом ошибка.
     
  8. cheka99

    cheka99 New Member

    Joined:
    2 Mar 2006
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Все ребят,спасибо.Разобрался.