2014-11-26 2 views
0

Я очень рад, что у вас есть программисты. Мне нужна ваша помощь для моего кода. Ниже мой код:

-survey.php

<td><center><a href="survey.php?user_id=' . $row['user_id'] . '"></b><font size="2">Not Complete</a></center></td></tr>';

Хотя это страница после того, как я чокаюсь ссылкой, где он ПОЛУЧИТ user_id.

-page.php

$staffid = (int)$_GET['user_id'];

В page.php, я только получаю только user_id данные. Мой вопрос заключается в том, как я хочу получить все данные из $ _GET ['user_id'], например, их адрес электронной почты и т. Д. Любая помощь будет высоко оценена. Спасибо.

+0

затем просто использовать этот user_id, что вы получили, и просто сделать отборное заявление от дб – Ghost

+0

и означает, как это ?: $ query = mysqli_query ($ con, "SELECT * FROM staff WHERE staff_id = '$ staffid'"); – Daario

+0

вы должны выбрать, исходя из того, что такое user_id. это то, что вы получаете в любом случае. и поскольку вы используете mysqli, используйте подготовленные операторы вместо прямой конкатенации переменных внутри запросов запроса. http://php.net/manual/en/mysqli.quickstart.prepared-statements.php – Ghost

ответ

1

На странице, которую все данные, page.php, вам нужно запустить что-то вроде этого (в данном случае PDO подготовленное заявление, вы можете сделать это с MySQLi, тоже):

try { 
    $connection = new PDO('mysql:host=' . HOST . ';dbname=' . DB , USER_DB, PASS_DB); // replace with your credentials! 
    $state = $connection->prepare("SELECT * FROM usertable WHERE user_id = :id"); 
    $state->execute(array('id' => $_GET['user_id'])); 
    if ($state->rowCount() > 0) { 
    list ($username,$email /* catch all the fields you need ,*/)=$state->fetch(PDO::FETCH_NUM); 
    } 
    else { 
     echo "Nothing found"; } 
    $state->closeCursor(); 
    unset($state, $connection); 

} catch (PDOException $e) { 
    die('Error!: ' . $e->getMessage() . '<br/>'); 
} 

Sidenote:

Там, кажется, ошибка в первой строке размещены здесь:

<td><center><a href="survey.php?user_id=' . $row['user_id'] . '"></b><font size="2">Not Complete</a></center></td></tr>'; 
                    ^where does this come from? 
+1

Это идеальный и безопасный (достаточно) пример того, что вам нужно. – Darren

+1

Cheers @Darren! – baao

+0

Единственное, что я мог придумать, чтобы сделать это на 100% лучше всего, это проверить 'rowCount()', чтобы что-то было возвращено. Кроме этого, это точный ответ, который я бы разместил :) хорошая работа! – Darren

0

Передача идентификатора сама по себе не может получить все поля, которые вы хотите. Вместо этого создайте запрос, в который вы вставляете идентификатор персонала, чтобы получить нужные поля.

$ staffid = (int) $ _ GET ['user_id'];

SELECT * FROM пользователей WHERE ID = ' "$ staffid."'

И Выполнить запрос.

Смежные вопросы