簡體   English   中英

mysql_query()返回一些奇怪的東西

[英]mysql_query() returns something strange

我想從數據庫中選擇一個字段( MessageCounter )。 它的類型是int(11) 我想增加它。

這是我嘗試選擇它的方法:

$q = "SELECT MessageCounter FROM " . TBL_USERS . " WHERE username = '$username'";
$result = mysql_query($q, $this->connection);

然后我嘗試添加1

$messagecount = $result + 1;
$field = "MessageCounter";

$q = "UPDATE " . TBL_USERS . " SET " . $field . " = '$messagecount' WHERE username = '$username'";
return mysql_query($q, $this->connection);

並在數據庫中更新為19 如果我加上其他數字而不是1 ,比如說3 ,我得到21 因此, $result在某種程度上等於18 但是,如果我嘗試使用相同的結果更新數據庫-它將字段更新為0

有人知道發生了什么嗎?

您不能在$result加1-首先,您需要從中獲取值:

$row = mysql_fetch_row($result);
$messagecount = $row[0] + 1;`

順便說一句-在學習的這個階段,您應該放棄不推薦使用的mysql_函數,而改用mysqli或PDO。 現在就做。

mysql_query()返回一個Resource而不是一個普通的變量,您可以在該變量上執行加法運算。

並按照n-dru的建議,您應切換到PDOmysqli,因為PHP 5.5.0中不推薦使用mysql擴展,並且已從PHP 7.0.0中刪除了該擴展。

在這里閱讀

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM