Помогите обновить данные в базе данных MySQL

Тема в разделе "PHP", создана пользователем medwed, 10 апр 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. medwed

    medwed Создатель

    Регистр.:
    8 фев 2008
    Сообщения:
    30
    Симпатии:
    0
    Помогите обновить данные в базе.

    в этот php файл перадется параемтр red_b, он равняется id в таблице например(red_b=54), с помощью этого параметра передаются данные в форму.

    структура таблицы такая:
    Поле Тип Сравнение Атрибуты Ноль Дополнительно
    id int(11) Нет auto_increment
    1 varchar(10) Нет cp1251_general_ci 2 varchar(10) Нет cp1251_general_ci
    3 varchar(10) Нет cp1251_general_ci 4 varchar(10) Нет cp1251_general_ci
    5 varchar(10) Нет cp1251_general_ci
    6 varchar(10) Нет cp1251_general_ci
    7 varchar(10) Нет cp1251_general_ci

    PHP:
    <?php
    require_once('config2.php');

    $sql "SELECT * FROM table1";
    $result=mysql_query($sql);
    $rows=mysql_num_rows($result);


    if(isset(
    $_POST['del_b']))
    {

      
    $sql2="delete from table1 where id=".$_POST['del_b'];
      
    mysql_query($sql2);

    }
    if(isset(
    $_POST['red_b']))
    {

    $sql5 "SELECT * FROM table1 WHERE id=".$_POST['red_b'];
    $result=mysql_query($sql5);
    $rows=mysql_num_rows($result);
    $line=mysql_fetch_row($result);

    echo 
    "
    <form action='' method='POST'>
    <table border='0' width=60% cellpadding='0' cellspacing='0' >
    <tr>
      <td align='left' width='35%'>1</td>
      <td align='left'><input type='text' name='1' value='"
    .$line["1"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left'>2</td>
      <td align='left'><input type='text' name='2' value='"
    .$line["2"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left'>3</td>
      <td align='left'><input type='text' name='3' value='"
    .$line["3"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left' width='35%'>4</td>
      <td align='left'><input type='text' name='4' value='"
    .$line["4"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left'>5</td>
      <td align='left'><input type='text' name='5' value='"
    .$line["5"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left'>6</td>
      <td align='left'><input type='text' name='6' value='"
    .$line["6"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left' width='35%'>7</td>
      <td align='left'><input type='text' name='7' value='"
    .$line["7"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left'</td>
      <td align='left'><input name='enter' type='submit' value='отправить'></td>
      <td align='left'></td>
    </tr>
    </table>
    </form>
    "
    ;

    if(isset(
    $_POST['enter']))
    {
    [
    B]// вот то что примерно надо сделать только у меня чтото оно неработает наверное я чтото нетак делаю[/B]
      
    $sql3="UPDATE table1 SET 1='.$_POST['1'].', 2='.$_POST['2'].',3='.$_POST['3'].',4='.$_POST['4'].',5='.$_POST['5'].',6='.$_POST['6'].',7='.$_POST['7'].' WHERE id=".$_POST['red_b'];
      
    mysql_query($sql3);
    }

    }
    ?>

    помогите пожалуйста........
     
  2. Kaimi

    Kaimi

    Регистр.:
    28 окт 2007
    Сообщения:
    257
    Симпатии:
    253
    Попробуй так:
    PHP:
     $sql3="UPDATE table1 SET 1='".$_POST['1']."', 2='".$_POST['2']."',3='".$_POST['3']."',4='".$_POST['4']."',5='".$_POST['5']."',6='".$_POST['6']."',7='".$_POST['7']."' WHERE id=".$_POST['red_b']; 
     
  3. medwed

    medwed Создатель

    Регистр.:
    8 фев 2008
    Сообщения:
    30
    Симпатии:
    0
    оно почемуто неработает может я делаю неправильно организацию нажатия на кнопку....просто запрос составлен то правильно но ничего неизменяется в базе...
     
  4. Kaimi

    Kaimi

    Регистр.:
    28 окт 2007
    Сообщения:
    257
    Симпатии:
    253
    Напиши так и скажи какую ошибку выдаст
    PHP:
    $result mysql_query(ТВОЙ_ЗАПРОС);
        if (!
    $result) {die('Invalid query: ' mysql_error());}
     
  5. medwed

    medwed Создатель

    Регистр.:
    8 фев 2008
    Сообщения:
    30
    Симпатии:
    0
    никакой вообще ошибки нету....
     
  6. hexus81

    hexus81 Создатель

    Регистр.:
    14 окт 2007
    Сообщения:
    10
    Симпатии:
    1
    попробуй так:

    ini_set('display_errors','On');
    $result = mysql_query(ТВОЙ_ЗАПРОС);
    if (!$result) {die('Invalid query: ' . mysql_error());}
     
  7. medwed

    medwed Создатель

    Регистр.:
    8 фев 2008
    Сообщения:
    30
    Симпатии:
    0
    ничего по прежнему невыводит.......никакой ошибки ничего...

    Добавлено через 21 минуту
    я попробывал чуть чуть код изменить

    PHP:
    <?php
    require_once('config2.php');

    $sql "SELECT * FROM table1";
    $result=mysql_query($sql);
    $rows=mysql_num_rows($result);


    if(isset(
    $_POST['del_b']))
    {

      
    $sql2="delete from table1 where id=".$_POST['del_b'];
      
    mysql_query($sql2);

    }
    if(isset(
    $_POST['red_b']))
    {

    $sql5 "SELECT * FROM table1 WHERE id=".$_POST['red_b'];
    $result=mysql_query($sql5);
    $rows=mysql_num_rows($result);
    $line=mysql_fetch_row($result);

    echo 
    "
    <form action='' method='POST'>
    <table border='0' width=60% cellpadding='0' cellspacing='0' >
    <tr>
      <input type=hidden name='update' value='"
    .$_POST['red_b']."'>
      <td align='left' width='35%'>1</td>
      <td align='left'><input type='text' name='1' value='"
    .$line["1"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left'>2</td>
      <td align='left'><input type='text' name='2' value='"
    .$line["2"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left'>3</td>
      <td align='left'><input type='text' name='3' value='"
    .$line["3"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left' width='35%'>4</td>
      <td align='left'><input type='text' name='4' value='"
    .$line["4"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left'>5</td>
      <td align='left'><input type='text' name='5' value='"
    .$line["5"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left'>6</td>
      <td align='left'><input type='text' name='6' value='"
    .$line["6"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left' width='35%'>7</td>
      <td align='left'><input type='text' name='7' value='"
    .$line["7"]."' size='10'></td>
    </tr>
    <tr>
      <td align='left'</td>
      <td align='left'><input name='enter' type='submit' value='отправить'></td>
      <td align='left'></td>
    </tr>
    </table>
    </form>
    "
    ;


    /*
      $sql2="delete from table1 where id=".$_POST['del_b'];
      mysql_query($sql2);
    */
    }

    if(isset(
    $_POST['enter']))
    {
     
    $sql3="UPDATE table1 SET 1='".$_POST['1']."', 2='".$_POST['2']."',3='".$_POST['3']."',4='".$_POST['4']."',5='".$_POST['5']."',6='".$_POST['6']."',7='".$_POST['7']."' WHERE id=".$_POST['update'];

    ini_set('display_errors','On');
    $result mysql_query($sql3);
    if (!
    $result) {die('Invalid query: ' mysql_error());} 
    }


    ?>

    и после этого выдает такую ошибку:
    Invalid query: 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 '1='4311', 2='4311',3='432',4='432',5='43',6='43',7='43' WHERE id
     
  8. medwed

    medwed Создатель

    Регистр.:
    8 фев 2008
    Сообщения:
    30
    Симпатии:
    0
    все у меня уже получилось я просто обработку этой формы запихнул в другой файл пхп и теперь все прекрасно обнавляет

    Добавлено через 1 минуту
    тему можете закрыть
     
Статус темы:
Закрыта.