我有一个系统的代码:
//get new data from text fields
$i = 0;
$data = array();
while ($i < 7){
$data[$i] = $_POST['t'.$i];
$i++;
}
//get the ID to use in the MySQL database query
$id=$data[0];
//get the existing integer from MySQL database
$query="SELECT * FROM tbl WHERE ID='$id';";
$result=mysql_query($query) or die(mysql_error());
$mem=mysql_result($result, 0, 'Member');
//print to see if it's equal
echo 'Does '.$mem.'='.$data[1].'?<br>';
//check equality
if ($mem != $data[1]){
echo "I'm not supposed to exist";
}
$data[0]是数据库表的唯一id, $data[1]是我们想要得到的。
代码将$mem
打印为999999.
与$data[0]
, 999999.
相同,但由于某种原因,当我通过if
语句传递它们时,它们不相等。
将它们强制转换为整型
if ((int)$mem != (int)$data[1]){
echo "I'm not supposed to exist";
}
你写data[0]等于$mem,你比较$data[1]