2017-08-01 37 views
-2

以下是我的查詢:更新查詢是成功的,但NUM_ROWS返回錯誤

$sql = "UPDATE `tbl_override_marks` SET final_mark ='$mark', confirmed ='Y' 
     WHERE fk_class_sub_id ='$cls_sub'"; 

當我給:

$result = $conn->query($sql); 
echo $result->num_rows; 

它給了我試圖讓非對象的財產地址但數據庫已更新。 有人可以告訴我哪裏出錯了,如何找到受影響的行數?

+2

'對於其他成功的查詢mysqli_query()將返回TRUE.'有時打開一個手冊。 –

+0

警告:[小bobby表](http://bobby-tables.com/)表示您的查詢存在SQL注入風險。您應該使用準備好的語句 – Kaddath

+0

這只是查詢的要點。但即使這樣也行不通@Kaddath –

回答

3

我認爲你正試圖讓記錄數量受到影響。 mysql_affected_rows返回受最後INSERT,UPDATE,REPLACEDELETE查詢影響的行數。

要檢查受影響的行使用

$sql = "UPDATE `tbl_override_marks` SET final_mark ='$mark', confirmed ='Y' 
    WHERE fk_class_sub_id ='$cls_sub'"; 
$result = $conn->query($sql); 
echo $conn->affected_rows; 

您可以檢查手冊mysqli::$affected_rows

+0

我仍然得到相同的錯誤 –

+0

什麼是你的問題標題,請檢查 –

+0

@YashParekh是的,我已經更新了我的答案,由於調用錯誤的對象屬性,你會得到錯誤 –

2

$affected_rows是類mysqli而不是mysqli_result的屬性。所以你必須以正確的方式訪問它:

echo $conn->affected_rows;