由於某些原因,我的一些SQL查詢似乎處理奇怪的數字。例如,在mySQL數據庫中,我有一個名爲points的用戶名爲INT(11)的表。當我嘗試檢索這個字段時,有時它會正確返回,而其他時候它會返回null。該查詢返回"User fMcBBx has points according to database"
每次:MySQL或Zend有時會返回空值而不是數字
$query = "SELECT points FROM users WHERE user_id = '$this->getID()'";
$result = DBCore::call()->fetchRow($query);
echo "User {$this->getID()} has {$result['points']} points according to database";
雖然這一個從我的構造正確每次返回數字,如"User fMcBBx has 1050 points according to database"
:
SELECT first,
last,
email,
points,
level,
gender
FROM users
WHERE user_id = '{$this->id}'
我還沒有發現任何的模式在做查詢並且不要正確返回此字段。我已經通過在PHPmyAdmin中針對數據庫運行它們來檢查它們,以確保它們都工作正常,並且我已經回顯了所有輸入值以確保它們正確傳輸。爲什麼我可能會在某些查詢中得到空值,但不是其他值呢?
如果您可以提供一些測試數據和查詢來重現此行爲,那將會很好。看看你的問題,我不明白爲什麼這些查詢會產生不同的結果。 – dcp
它是否總是返回空值的查詢相同,或者在不同的時間運行相同的查詢返回不同的東西?從你的問題來看並不完全清楚,但我懷疑它是前者。如果我們能看到一些失敗的查詢,以及表和一些示例數據的結構,這將有助於迴應@dcp。 – andrewsi
是什麼讓你覺得它返回null?爲什麼它不會返回任何一行?你爲什麼認爲這是查詢?爲什麼你認爲它不可能是你的this.getID()參數在不同的時間可能會不同? – Sebas