Как вернуть то, что в определенной ячейке mysql, запрашивая другое значение, которое находится в той же строке? - PullRequest
0 голосов
/ 26 мая 2011

Я пытаюсь создать страницу php, к которой я могу перейти, как ... http://mydomain.com? Id = 12345

в моей таблице mysql есть столбец id итекстовый столбец .... как я могу заставить свою страницу php получить идентификатор, найти его, затем вернуть то, что находится в текстовой ячейке в той же строке, и отобразить его на странице?

Вот что у меня естьдо сих пор ... я в основном застрял в том, что я должен делать с запросом Mysql.тогда как на самом деле получить данные в переменную, которую я могу отобразить на странице.Спасибо!

РЕДАКТИРОВАТЬ: достигнут небольшой прогресс ...

    <?php 

    mysql_connect("my.mysql.com", "user", "pass");
    mysql_select_db("mydb");

    $id= $_GET['id'];

   $result = mysql_query("SELECT text FROM mytable WHERE id='$id'")
or die(mysql_error());  


echo nl2br($result);


    ?>

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

Сразу после создания запроса вы передаете его в базу данных и извлекаете результаты


// Perform Query
$result = mysql_query($query);

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
    echo $row['field1'];
    echo $row['field2'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
mysql_free_result($result);

Важное примечание: ваши данные всегда должны быть обработаны перед их вводом вбаза данных, чтобы избежать внедрения sql

Например: представьте, что кто-то поставил "'; drop table mytable;"в качестве идентификатора в URL.Затем передача этого в mysql приведет к удалению вашей таблицы.

Note2 : при выводе вашего сообщения обязательно экранируйте определенные символы: вместо <</strong> и > Вы должны поместить <</strong> и >

Рекомендуемое руководство

Скрипт скопирован с сюда

2 голосов
/ 26 мая 2011

Укажите поля для извлечения после SELECT

SELECT field1, field2
  FROM mytable
  WHERE id=:id
...