我遇到了奇怪的事情,我不知道它为什么会发生!PHP intval()奇怪的结果
我有这样一个URL:
http://mysite.com/users/USER_ID
该用户ID可能是INT
和可STRING
,它像Facebook页面的地址,如果调用页面ID它加载到页面,你也可以用网页名称称呼它“my_page_name”
所以,想象一下它的ID是1
用户,它的地址是my_name
在我的PHP页面,我需要查询数据库,而T3之前帽子我需要知道看哪一列,id
或page_name
于是我想出了这个解决方案:
<?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');
?>
所以我测试了它,但结果是怪异,即使我把这个网址:
http://mysite.com/users/page_name
出现这种情况:$column = 'id';
我打开一个新的测试页:
<?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...";
?>
,结果:
Real String is: abcdefg
The same string as int is: 0
Weird!
为什么发生这种情况?
在此先感谢。
祝贺管理始终拼错怪异,因为有线... – Aatch
@Aatch恭喜您接近问题的要点! :-D – behz4d
我也回答了这个问题。我只是惊讶于你设法写了'有线'而不是'怪异'4次。 – Aatch