我很難推理這個輸出。在PHP SQL查詢中的虛假真相
問題出在一臺服務器上,而不是另一臺服務器,不知何故,當只有一個相同的值時,值被計算爲多個「真值」。
這是一個PHP版本自動解釋的東西,其中PHP試圖玩數字而不是字符串?
任何想法都會有所幫助。謝謝!
$SelectedID="20140115214529625";
$con=GetSQLConnection("SomeDataBaseSomewhere");
$sqlQ="SELECT * FROM StoryTable ORDER BY Name ASC";
$result = mysqli_query($con,$sqlQ);
while($row = mysqli_fetch_array($result)){
if($SelectedID==$row['newPermID']){
echo "Data: ".$SelectedID.", ".$row['newPermID']."\n";
}else{}
}
mysqli_close($con);
Output:
Data: 20140115214529625, 20140115214529623
Data: 20140115214529625, 20140115214529624
Data: 20140115214529625, 20140115214529625 < Should Be The Only True Value???
Data: 20140115214529625, 20140115214529626
`
如果$ row ['newPermID']是一個整數,給定這些值的大小,更可能是32位和64位版本的PHP之間的區別 –
您使用的是哪個版本的PHP?我認爲與這些比較有關的一些錯誤在某些時候是固定的。 – IMSoP
調試,'var_dump($ SelectedID)'和'var_dump($ row ['newPermID']'並比較 –