За последние 24 часа нас посетили 18586 программистов и 1620 роботов. Сейчас ищут 1718 программистов ...

Помогите пожалуста

Тема в разделе "Вопросы от блондинок", создана пользователем MadCrank, 7 сен 2008.

  1. MadCrank

    MadCrank Активный пользователь

    С нами с:
    5 сен 2008
    Сообщения:
    12
    Симпатии:
    0
    Здраствуйте мне нужно получить значение ячейки в стоблце column и в 6 строке и потом вывести его на страницу не подскажете как это сделать??
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
  3. MadCrank

    MadCrank Активный пользователь

    С нами с:
    5 сен 2008
    Сообщения:
    12
    Симпатии:
    0
    спасибо конечно но почему то не работает вот даю весь код может я где ошибку допустил помогите пожалуста
    PHP:
    1. <?php
    2. $msg=($_GET["msg"]);
    3. $hostname = "localhost";
    4. $username = "csm";
    5. $password = "byntk";
    6. $dbName = "csm";
    7. $userstable = "exp_billboard";
    8. $db=mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
    9. mysql_select_db($dbName,$db) or die(mysql_error("не могу выбрать базу"));
    10. $query ='SELECT `phone` FROM $userstable WHERE `id` = '$msg' LIMIT 0,30';
    11. $res = mysql_query ($query,$db)or die(mysql_error("не могу выполнить запрос"));
    12. $arr =  mysql_fetch_array($res,$db);
    13.  echo $arr[0];
    14. ?>
    15.  
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Да, допустили ошибку в строке 10.
    Какую? Прочтете внимательно http://ru2.php.net/manual/ru/language.t ... tax.single и поймете.
    И еще. id обычно является уникальным. Поэтому если его задавать строго, как у Вас, то всегда будет один результат и ограничение LIMIT'om не нужно.

    И почему Вы сразу код не привели?
    $msg=($_GET["msg"]); - в этой строке уязвимость. http://phpfaq.ru/slashes#injection

    P.S. Не говорите ему, пусть читает!
     
  5. MadCrank

    MadCrank Активный пользователь

    С нами с:
    5 сен 2008
    Сообщения:
    12
    Симпатии:
    0
    Спасибо Kreker исправил кавычки все заработало но возник вопрос по поводу^ что делать если msg должно принимать числовые значения от 1 и до не знаю скольки)) не прописовать же их все в $msgs=array("1","2","3");
    PHP:
    1. $msgs=array("1","2","3");
    2. $key=array_search($_GET['msg'],$msgs));
    3. $msg=$msgs[$key
    ];
     
  6. MadCrank

    MadCrank Активный пользователь

    С нами с:
    5 сен 2008
    Сообщения:
    12
    Симпатии:
    0
    и еще один вопрос если значение msg=num_27 как выдрать 27?
     
  7. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    MadCrank
    В массив надо загонять только строки в таком случае, и то, если их количество жестко установлено. Допустим разделов у сайта 2 - items & news, тогда приведенный Вами вариант прокатит.
    В случае с числами, то можно либо насильно приводить принимаемую переменную к числу - (int)$_GET['msg'] или intval($_GET['msg']), либо использовать вариант, который будет выдавать ошибку:
    PHP:
    1.  
    2. <?php
    3. if (ctype_digit($_GET['msg']) === false) {
    4.    die('Такой раздел не найден');
    5. }
    6. ?>
    7.  
    Можно и не вставлять "num_".
    Выдрать можно так:
    $number = substr($_GET['msg'], 4);

    4 - начинаем читать строку с 4 символа (отсчет от 0).