Intval PHP () dziwne wyniki

Spotykam coś dziwnego i nie wiem, dlaczego tak się dzieje!

Mam adres URL taki jak:

http://mysite.com/users/USER_ID

ten identyfikator użytkownika może byćINT i może byćSTRING, to coś w rodzaju adresów na Facebooku, jeśli wywołujesz stronę z identyfikatorem strony, ładuje ją, możesz też nazwać ją nazwą strony „moja_nazwa_strony”

Wyobraź sobie użytkownika, którego identyfikatorem jest1 a jego adres jestmy_name Na mojej stronie php potrzebuję zapytania db, ale wcześniej muszę wiedzieć, która kolumna ma wyglądać,id lubpage_name

Więc przyszedłem z tym rozwiązaniem:

<?php
    $id = $_GET['id'];
    $id_inted = intval($_GET['id']);

    if($id == $id_inted){
    // The column which I should look into is id
    $column = 'id';
    }else{
    // The column which I should look into is page_name
    $column = 'page_name';
    }

    $query = mysql_qyery(SELECT * FROM members WHERE $column = '$id');
?>

Przetestowałem to, ale wyniki są dziwne, nawet jeśli zadzwonię pod ten adres URL:

http://mysite.com/users/page_name

To się stało:$column = 'id';

Otworzyłem nową stronę testową:

<?php
$real_string = 'abcdefg';
$string_inted = intval($real_string);
echo "Real String is: " . $real_string . "<br />"; 
echo "The same string as int is: " . $string_inted . "<br />"; 
if($real_string == $string_inted) echo "Weird!"; else echo "Fine...";
?>

a wyniki:

Real String is: abcdefg
The same string as int is: 0
Weird!

Dlaczego tak się dzieje?

Z góry dziękuję.

questionAnswers(5)

yourAnswerToTheQuestion